从php中的两个表中获取数据而不加入表

时间:2016-12-16 05:12:48

标签: php mysql searchbar

我还在学习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);
?>

1 个答案:

答案 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'];
}