我正在构建一个基于Jquery / ajax的下拉列表,用于从数据库中检索不同的表单。响应ajax调用的“php函数”可能必须返回多于一组的表单,具体取决于id,这意味着在同一个id下可以有多个记录。然后将数据作为Json编码的html表发送回脚本。问题是如何在服务器端处理这个问题。我希望这个问题很清楚。
我的代码:
<?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 :(得分:2)
好吧,只需在你的json中回显数组:
echo json_encode(array('error' => false, 'forms' => $out));