0

这个 Jquery UI 确实是我需要的:http: //jqueryui.com/demos/autocomplete/#multiple-remote但是在查看了它的源代码之后,我想知道这一行中的 search.php 是做什么的?

source: function( request, response ) {
$.getJSON( "search.php", {
term: extractLast( request.term )
}, response );
},

我没有看到关于那个 search.php 的任何文档,我相信在 search.php 上只有这样的 MySQL SELECT 是不够的。因为我认为 jQuery UI 是以 JSON 格式读取的。不是这样的普通 MySQL 结果:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM SomeTable");

while($row = mysql_fetch_array($result))
  {
    *** I don't know what to do about this data, I think it should be converted 
    *** into JSON format. but how?
  }

mysql_close($con);
?>

jQuery UI 自动完成的另一个问题是用户能够编辑自动完成结果并提交到服务器。例如,如果我在演示页面上键入“ca”并选择“Cattle Egret”。我仍然可以将结果编辑成这样的“Catle Eret”。

如何“锁定”jQuery UI 结果,使用户无法编辑但可以删除?谢谢。

4

1 回答 1

0

当然,search.php 上不会有任何信息,因为这取决于您如何进行搜索。但它应该包含一个类似 SQL SELECT 的语句!

您可以像这样简单地输出查询的某些列:

$data = array();
while($row = mysql_fetch_array($result)) {
    $data[] = row['interesting_column'] ;
    // you can of course output multiple comlumns if you're interested in them
}

echo json_encode($data);
flush();

这应该返回一个 JSON 数组,其中包含来自 db 的列。

于 2012-10-05T08:27:31.287 回答