【问题标题】:fetch data from two tables in php without joining the tables从 php 中的两个表中获取数据而不加入表
【发布时间】:2016-12-16 05:12:47
【问题描述】:

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

【问题讨论】:

  • 如果您还在学习 PHP,请帮自己一个忙,删除它并使用 PDO 而不是 mysql_* 重新开始
  • 其次为什么不想使用join?
  • @e4c5 好的。这是因为它们具有完全不同的数据。彼此不相关。顺便谢谢你的建议。

标签: php mysql searchbar


【解决方案1】:

鉴于您根本没有向我们描述第二张表,因此您的要求有点含糊,所以我假设您只想从同一张表中进行两次单独的选择。这样做是这样的,并将国家放在首位:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    相关资源
    最近更新 更多