【发布时间】:2012-04-12 18:54:17
【问题描述】:
我正在尝试搜索表中的两个字段。 (数据库表包含鸡尾酒名称,以及它们的名称、成分和描述)当用户在搜索框中键入他们想要的词时,使用 Ajax/jquery 会给出自动完成的结果。
我已经让它搜索一个字段(名称),但似乎无法让它做更多的事情(名称和成分)。另一个问题是当给出结果时(它们作为链接给出)当你选择它们时,它会将数据放在输入框中,而不是把你带到下一页。
index.php:
<script>
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
selectFirst: true
});
});
</script>
<label>Tag:</label>
<input name="tag" type="text" id="tag" size="40"/>
自动完成.php:
<?php
$q=$_GET['q'];
$my_data=mysql_real_escape_string($q);
$mysqli=mysqli_connect('localhost','ignitet1','password','ignitet1_WhatCocktail') or die("Database Error");
$sql="SELECT Name FROM tblCocktail WHERE Name LIKE '%$my_data%' ORDER BY Name";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error());
if($result)
{
while($row=mysqli_fetch_array($result))
{
echo "<a href=\"details.php\">";
echo $row['Name']."," , "<br />";
echo "</a>";
}
}
?>
任何帮助将不胜感激。
【问题讨论】:
-
好吧,可以肯定的是,您只是在查询中寻找 valye 'Name" .. 所以这就是您将得到的全部内容.. 如果您有两个字段 Name 和 Ingredients 也许您应该将其包含在 select 语句中并修复 where 子句以执行 OR 子句。WHERE NAME LIKE '%$MY_DATA%' OR INGREDIENTS LIKE '%$MY_DATA%'
标签: php jquery mysql database autocomplete