2010-10-21 60 views
-1

這裏是我的表MySQL的PHP​​論壇列表

主題 -id -title -category_id

帖子 -id -topic_id -user_id -date - 時間 -txt

用戶 -id -username

我希望列出一個類別以下信息每個主題 作者的用戶名(誰發佈第一),大量的答覆,最後回覆的作者的名字,和上一篇文章的日期按帖子發佈日期排序。

我可以做一些嵌套循環和一堆查詢,但我想知道是否有可能提供一個或兩個mysql查詢?

的代碼,我SOFAR ...

$query = "SELECT * FROM user u,topics t,posts p WHERE t.category_id=1 AND t.id=p.topic_id AND p.user_id=u.id ORDER BY p.date DESC, p.time DESC"; 

回答

0
$sql = "SELECT * FROM user u,topics t,posts p WHERE t.category_id=1 AND t.id=p.topic_id AND p.user_id=u.id ORDER BY p.date DESC, p.time DESC"; 
$query = mysql_query($sql); 
while ($result = mysql_fetch_array($query)) { 
    // do some stuff with $result 
} 

(改變變量,使一些更有意義)

0

只需添加first_topic_idlast_topic_id列於表topics。這是常見的做法,它會幫助您獲得簡單而快速的查詢。