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))
    $all[] = array('value'=>$row[1],'label'=>$row[1]);
print json_encode($all);
?>

オートコンプリートは正常に機能していますが、データを表示するオプションはありません。誰かが私が間違っていることを見ることができますか

4

2 に答える 2

0

このJSを試してください:

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

オートコンプリートは、php からのエコー/リターンを内部的に使用するため、データをキャッチしてクライアント側に書き出す必要があります。

注: data は json 文字列になります。それを でオブジェクトに解析し、そのオブジェクトでJSON.parse(data)必要なことを行うことができます。

于 2012-07-06T11:15:37.523 に答える
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));
    ?>
于 2012-07-06T11:11:25.657 に答える