PHP - 在数组中显示数据

时间:2012-07-06 10:42:41

标签: php jquery

我在页面上的自动完成对象中引用了以下代码

<?php
require('json.php');
error_reporting(E_ALL);
mysql_connect("localhost", "root", "") or
    die("Could not connect: " . mysql_error());
mysql_select_db("timetable") or die("No such database");
$sql = sprintf("SELECT id,dsc FROM module WHERE dsc LIKE '%%%s%%'",
               mysql_real_escape_string($_REQUEST['term']));
$result = mysql_query($sql)
  or die(mysql_error());
$all = array();
while ($row = mysql_fetch_array($result))
    $all[] = array('value'=>$row[1],'label'=>$row[1]);
print json_encode($all);
?>

自动完成功能正常,但没有选项可以显示数据。任何人都可以看到我做错了什么

2 个答案:

答案 0 :(得分:0)

你能尝试一下吗?它可能会帮助你

 <?php
    require('json.php');
    error_reporting(E_ALL);
    mysql_connect("localhost", "root", "") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("timetable") or die("No such database");
    $sql = sprintf("SELECT id,dsc FROM module WHERE dsc LIKE '%%%s%%'",
                   mysql_real_escape_string($_REQUEST['term']));
    $result = mysql_query($sql)
      or die(mysql_error());
    $all = array();
    while ($row = mysql_fetch_array($result))
    {
    array_push($all,array('value'=>$row[1],'label'=>$row[1]));
    }
    echo(json_encode($all));
    ?>

答案 1 :(得分:0)

试试这个JS:

$(function(){
  $('#who').autocomplete({
    source: function() {
      $.get('scripts/searchstaff.php', function(data) {
        $(target).text(data);
        return data;
      }
    }
  });
});

自动完成功能仅在内部为您自己使用来自您的php的echo / return,您必须捕获数据并将其写出客户端。

注意:数据将是一个json字符串,您可以将其解析为具有JSON.parse(data)的对象,然后对该对象执行任何操作。