2014-11-15 64 views
0

嗨我試圖從表格主題中檢索我的主題,但是在我的查找列表中我想要顯示最近的活動主題,所有評論都在不同的表格中。我怎麼能這樣做,我的列表顯示主題表中的所有主題,但根據評論表中的最新日期排列它們。php從不同的mysql表中選擇訂單

$forums = mysql_query("select * from forumtopic where category='$who' order by date DESC LIMIT " . (($page - 1) * 10) . ", 10"); 

,而($論壇= mysql_fetch_array($論壇)) {

,所以我希望它像

$forums = mysql_query("select * from forumtopic where category='$who' and select from forumcomment where category='$who' but order by date from forumcomment DESC LIMIT " . (($page - 1) * 10) . ", 10"); 

,而($論壇= mysql_fetch_array($論壇)) {

如果有道理

回答

0

我相信這個我也是你想要做什麼:

SELECT * FROM forumtopic 
WHERE category='$who' 
ORDER BY FIELD(topic, 
    (SELECT topic 
    FROM forumcomment 
    WHERE category='$who' 
    ORDER BY date DESC)) 
LIMIT " . (($page - 1) * 10) . ", 10 

通過現場的順序,您可以爲表forumtopic,這是最活躍的排序指定的順序,也不知你的表的模式,所以你必須更改名稱相應

編輯 - 簡單的解決方案,再下訂單加入由

SELECT forumtopic.topic FROM forumtopic 
INNER JOIN forumcomment 
ON forumtopic.topic = forumcomment.topic 
WHERE category = '$who' 
ORDER BY forumcomment.date DESC 
LIMIT " . (($page - 1) * 10) . ", 10 
+0

AWH我永遠學不會在這之前,我非常感激,因爲它打開我的眼睛了,甚至更多的可能性在我的學習過程 – 2014-11-15 00:40:13

+0

讓我知道它是否有效,但我無法測試它 – 2014-11-15 00:40:38

+0

我添加了另一個版本,如果第一個不能工作,您可以嘗試合併這兩個表,然後按日期排序,但我不知道第一個是否會工作,因爲我從未嘗試過,但讓我知道 – 2014-11-15 00:51:25