Jquery UI:自动完成多个值,search.php有什么作用?

时间:2012-10-05 08:22:04

标签: jquery jquery-ui

这个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”并选择“牛背鹭”。我仍然可以将这个结果编辑成像'Catle Eret'。

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

1 个答案:

答案 0 :(得分: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();

这应该返回一个包含db的列的JSON数组。