Php 多个表中的QueryFetchArrayAll?

Php 多个表中的QueryFetchArrayAll?,php,mysql,sql,Php,Mysql,Sql,我使用以下代码从“facebook”表中提取数据,然后使用foreach()函数将其显示在表中: $orders = $db->QueryFetchArrayAll("SELECT id,url,c_amount,amount,date,status FROM `facebook` WHERE `user`='".$data['id']."' ORDER BY `date` DESC LIMIT 30"); 我如何从多个表中提取数据,例如从“facebook”和“twitter”表中提取

我使用以下代码从“facebook”表中提取数据,然后使用
foreach()
函数将其显示在表中:

$orders = $db->QueryFetchArrayAll("SELECT id,url,c_amount,amount,date,status FROM `facebook` WHERE `user`='".$data['id']."' ORDER BY `date` DESC LIMIT 30");
我如何从多个表中提取数据,例如从“facebook”和“twitter”表中提取数据,然后在我的表中同时显示

以下是我的完整代码,适用于那些需要它的人:

<table class="table">
                <thead>
                    <tr>
                        <td># (ID)</td>
                        <td>URL</td>
                        <td>Current Amount</td>
                        <td>Amount Wanted</td>
                        <td>Date</td>
                        <td>Status</td>
                    </tr>
                </thead>
                <tbody>
        <?
          $orders = $db->QueryFetchArrayAll("SELECT id,url,c_amount,amount,date,status FROM `facebook` WHERE `user`='".$data['id']."' ORDER BY `date` DESC LIMIT 30");
          if(!$orders){ echo '<tr><td colspan="6" align="center"><b>Noting found!</b></td><tr>';}else{
          foreach($orders as $order){
        ?>
        <?
            if($order['status'] == 0){
                $status = '<label style="color: #999999;">Waiting for supplier</label>';
            }
            elseif ($order['status'] == 1) {
                $status = '<label style="color: #f0ad4e;">In progress</label>';
            }
            elseif ($order['status'] == 2) {
                $status = '<label style="color: #e25856;">Canceled/Refunded</label>';
            }
            elseif ($order['status'] == 3) {
                $status = '<label style="color: #428bca;">Pending admin review</label>';
            }
            else{
                $status = '<label style="color: #94b86e;">Completed</label>';
            }
        ?>
                    <tr>
                        <td><?=$order['id']?></td>
                        <td><?=$order['url']?></td>
                        <td><?=$order['c_amount']?></td>
                        <td><?=$order['amount']?></td>
                        <td><?=date('Y-m-d h:i',$order['date'])?></td>
                        <td><?=$status?></td>
                    </tr><?}}?>
                </tbody>
            </table>

#(ID)
统一资源定位地址
当前金额
通缉数量
日期
地位

使用
UNION
关键字

请注意,这两个查询应该具有相同的字段计数和相同的字段类型

例如:

$orders = $db->QueryFetchArrayAll(
    "SELECT id,url,c_amount,amount,date,status FROM `facebook` WHERE `user`='" 
    . $data['id'] 
    . "' UNION 
    SELECT field1, field2, field3, field4, field5 FROM `twitter` WHERE some_condition "
);

希望它能帮上忙

你会想用一个工会

$orders = $db->QueryFetchArrayAll("SELECT id,url,
c_amount,amount,date,status FROM `facebook` 
WHERE `user`='".$data['id']."'
join ORDER BY `date` DESC LIMIT 30
UNION
SELECT id,url,
c_amount,amount,date,status FROM `twitter` 
WHERE `user`='".$data['id']."'
join ORDER BY `date` DESC LIMIT 30");

facebook
twitter
表有什么共同点吗?通常,您只需将它们
连接在一起。它们具有完全相同的结构,但没有数据。编辑:你的意思是这样的:从facebook加入twitter哪里…?如果你不想让用户加入,那么正如这些答案所建议的那样,你应该合并结果。我已经尝试过了,但没有效果,我得到了表中的“Noting found!”文本,而不是来自facebook/twitter的数据。@user3604070通常你的查询失败!例如,试着在
phpmyadmin
中执行它,或者告诉我们你的
$db
对象是什么?嗯,我也试过你的代码,但是我从facebook/twitter的数据表中得到了“Nothing found!”文本。你在没有工会的情况下得到了个人查询的结果吗?