2013-04-23 126 views
0

祝您有个美好的一天!查询获得论坛帖子/回复 - 只显示最新的帖子

我一直在试图弄清楚这几个小时,但我不能得到它的工作。
我有一个论坛,应该显示所有主题,由最新的答复排序。
数据库:
表线程
的thread_id,CATEGORY_ID,称号,创建,作者,状态

表回复
reply_id,thread_id单,创建文本

查询:

$query = mysqli_query($link, "SELECT * FROM threads, replies 
WHERE threads.thread_id=replies.thread_id AND threads.category_id=$cat 
AND threads.status=1 ORDER BY replies.reply_id DESC"); 

问题: 它只显示了最新的答复线程。我使用while循环来回显所有行。 mysqli_num_rows($ query)显示3,但只打印一个线程。 while循环只包括:

while($r = mysqli_fetch_assoc($query)) 
{ 
    $thread_id = $r['thread_id']; 
        $total_comments = mysqli_num_rows(mysqli_query($link, "SELECT thread_id FROM replies WHERE thread_id=$thread_id")); 
        $last_comment = mysqli_query($link, "SELECT * FROM replies WHERE thread_id=$thread_id ORDER BY reply_id DESC LIMIT 0,1"); 
        $rLastComment = mysqli_fetch_assoc($last_comment); 
    $query = mysqli_query($link, "SELECT author FROM threads WHERE thread_id=$thread_id"); 
    $a = mysqli_fetch_assoc($query); 
    echo '<tr> 
    <td><img src="" alt=""></td> 
    <td><a href="/forum/thread/'.$thread_id.'">'.$status.''.(substr($r['title'], 0, 15)).'</a> </td> 
    <td>'.$a['author'].'</td> 
    <td>'.($total_comments).'</td> 
    <td>'.$lastComment.'</td> 
    </tr>'; 
} 

回答