好的,我有一个表在while循环中从MySQL表输出数据。它输出的一列不是静态存储在表中的,而是它在不同的MySQL表中出现的次数之和。
对不起,我不确定这是否容易理解。这是我的代码:
$query="SELECT * FROM list WHERE added='$addedby' ORDER BY time DESC";
$result=mysql_query($query);
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
$loghwid = $row['hwid'];
$sql="SELECT * FROM logs WHERE hwid='$loghwid' AND time < now() + interval 1 hour";
$query = mysql_query($sql) OR DIE(mysql_error());
$boots = mysql_num_rows($query);
//Display the table
}
上面是显示表格的代码。
如您所见,它从两个不同的MySQL表中获取数据。不过,我希望能够
ORDER BY $boots DESC
。但由于这是一个完全不同的表计数,我不知道如何去做。我很感激你的帮助,谢谢。
最佳答案
有一个JOIN
操作旨在。。。好。。。把两张不同的桌子连在一起。
SELECT list.hwid, COUNT(log.hwid) AS boots
FROM list WHERE added='$addedby'
LEFT JOIN log ON list.hwid=log.hwid
GROUP BY list.hwid
ORDER BY boots
我不确定最后一行中的
ORDER BY boots
在MySQL中是否能像这样工作。如果没有,只需在子查询中放入除最后一行以外的所有行。关于php - 按行数排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2816048/