2013-03-23 4 views
0

Я создаю раскрывающийся список Jquery/ajax, который извлекает различные формы из базы данных. «Функция php», которая отвечает на вызов ajax, может вернуть более одного набора форм в зависимости от идентификатора, то есть может быть более одной записи под одним и тем же идентификатором. Затем данные отправляются обратно в скрипт в виде кодированной json-таблицы Json. Вопрос в том, как бы справиться с этим на стороне сервера. Надеюсь, этот вопрос ясен.Json кодирует несколько совпадающих элементов.

Мой код:

<?php 
if (!empty($_GET['id'])) { 
$id = $_GET['id']; 

try { 


$objDb = new PDO('mysql:host=localhost;dbname=blankett', 'root', 'root'); 
$objDb->exec('SET CHARACTER SET utf8'); 

$sql = "SELECT * 
    FROM `forms` 
    WHERE `id` = '$id'"; 
$statement = $objDb->prepare($sql); 
$statement->execute(array()); 
$list = $statement->fetchAll(PDO::FETCH_ASSOC); 



if (!empty($list)) { 

    foreach ($list as $row) { 
    $out = array(); 
    $out[] = '<tr><td><a href="'.$row['link_form'].'">'.$row['name_form'].'</a></td> <td>'.$row['date_added'].'</td></tr>'; 
    } 

    echo json_encode(array('error' => false)); 
} else { 
    echo json_encode(array('error' => true)); 
} 


} catch(PDOException $e) { 
echo json_encode(array('error' => true)); 
} 

}else { 
echo json_encode(array('error' => true)); 
} 


?> 

ответ

2

Ну, просто эхо массив в вашем JSON:

echo json_encode(array('error' => false, 'forms' => $out)); 
+0

Действительно просто? Круто! – StenW

Смежные вопросы