【问题标题】:Json encode more than one matching item.Json 编码多个匹配项。
【发布时间】:2013-03-23 21:51:29
【问题描述】:

我正在构建一个基于 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));
}


?>

【问题讨论】:

    标签: php jquery mysql ajax json


    【解决方案1】:

    好吧,只需在你的 json 中回显数组:

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

    【讨论】:

      猜你喜欢
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      相关资源
      最近更新 更多