Php 多个表中的QueryFetchArrayAll?
我使用以下代码从“facebook”表中提取数据,然后使用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”表中提取
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!”文本。你在没有工会的情况下得到了个人查询的结果吗?