我还在学习PHP和MySql,并且在搜索栏上遇到了困难。我的问题是我能够从数据库中选择两个表,但是我在使用while循环时遇到了麻烦,它会在搜索栏中抛出所有内容,有时甚至什么都没有。我为此使用了typeahead.js插件。我希望这些国家首先出现,然后建议域名,我不想加入这些表格。请帮忙。
这是我的剧本:
<script>
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote:'search2.php?key=%QUERY',
limit : 30
});
});
</script>
这是我的php:
<?php
$key=$_GET['key'];
$array = array();
$con=mysql_connect("localhost","root","");
$db=mysql_select_db("test_db",$con);
$query=mysql_query("select * from tbl_sample where country LIKE '%{$key}%' AND domain LIKE '%{$key}%' ");
while($row=mysql_fetch_assoc($query)){
$array[] = $row['country'];
$array[] = $row['domain'];
}
echo json_encode($array);
?>
答案 0 :(得分:0)
你问的是有点模糊,因为你根本没有向我们描述第二张表,所以我假设你只想在同一张表中做两个单独的选择。这是这样做的,并将国家放在第一位:
$query=mysql_query("select country as 'result' from tbl_sample where country LIKE '%{$key}%' UNION select domain as 'result' from tbl_sample where domain LIKE '%{$key}%' ");
while($row=mysql_fetch_assoc($query)){
$array[] = $row['result'];
}