Я создаю раскрывающийся список на основе JQuery / ajax, который извлекает различные формы из базы данных. «Функция php», которая отвечает на вызов ajax, может возвращать более одного набора форм в зависимости от идентификатора, что означает, что под одним идентификатором может быть более одной записи. Затем данные отправляются обратно в сценарий в виде таблицы HTML в кодировке 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));
}


?>
0
StenW 24 Мар 2013 в 01:51

1 ответ

Лучший ответ

Ну, просто повторите массив в своем json:

echo json_encode(array('error' => false, 'forms' => $out));
2
SirDarius 24 Мар 2013 в 01:55