有两个数据库表:分别是用户留言表message和用户回复表admin_ans。
message表中的字段有:id,username,title,content,addtime
admin_ans表中的字段有:id,mid,ans_name,ans_content,ans_time
message表中的id字段已经和admin_ans表中的mid字段进行关联,并且已经成功显示。
现在的主要问题是:怎样才能让用户回复一条信息之后,会自动将用户回复的内容和它所对应的留言内容置顶呢?
请大家帮忙看看吧。下面是相关的代码:$result=mysql_query("select * from message  order by addtime DESC limit $page $pagesize");
while($rows=@mysql_fetch_array($result)){
          $sid=$rows[id];
//显示用户名和留言时间
echo "<div class=\"main_content\"><div class=\"liuyanshuo\">"."$rows[id]号"."$rows[username]"."说:"."</div>";
echo "<div class=\"liuyantime\">".'时间:'."$rows[addtime]"."</div>";
//显示主题
echo  "<div class=\"content_title\">主题:"."$rows[title]"."</div>";
//显示留言内容
echo  "<div class=\"content_content\">内容:"."$rows[content]"."</div></div>";
</div>";
         //删除、回复以及审核复选框
echo  "<div class=\"content_answer\">"."<a href=\"answer.php?mid=$sid\">回复</a>"."</div>";
//显示回复内容
$result0=mysql_query("select * from admin_ans where mid=$sid  order by ans_time DESC ");
while($rows0=@mysql_fetch_array($result0)){
echo  "<div class=\"reply_content\">"."$rows0[ans_name]"."回复说:"."$rows0[ans_content]"."</div>";
echo  "<div class=\"reply_time\">回复时间:"."$rows0[ans_time]"."</div>";
}

解决方案 »

  1.   

    可不是去 desc 啊。呵呵。
    $result=mysql_query("select * from message order by addtime DESC limit $page $pagesize");这里应该是 ans_time 才对啊。哈哈
      

  2.   

    message是用户留言表,没有回复时间ans_time 呀,只有留言时间addtime
      

  3.   

    那就SELECT * FROM message LEFT JOIN admin_ans as ans ON message.sid=ans.mid ORDER BY ans.ans_time DESC limit $page $pagesize
      

  4.   

    添加个时间字段或者ID字段,然后ORDER BY
      

  5.   

    我加了这句:$result= mysql_query("select * from message as a,admin_ans as b  where a.id=b.mid order by b.ans_time desc limit $page $pagesize");
    可以出现倒序了,不过因为一条留言对应多条回复,所以使用这句代码后,会出现多条相同的留言和对应相应的回复。
    请问怎样才能出现一条留言,对应它的多条回复呢?是不是需要增加新的字段?
      

  6.   

    select * from message as a,admin_ans as b where a.id=b.mid order by a.id desc, b.ans_time desc limit $page $pagesize
      

  7.   

    将admin_ans设置成 order by update
      

  8.   

    你这个message少了个字段,如果你仔细分析,一般论坛的帖子都有发帖时间和更新时间。更新时间就是最近回复的时间。这个在每个回复成功之后都会修改相应留言的更新字段。这样。在索引的时候就可以直接按message这个表的更新时间字段倒叙索引了。
    如果不修改,那么按ans表倒叙索引,如果某个热留言同时在最近的时间回复。那么就会出现同个留言几次出现在页面的情况。
    如果一定要这样就要保证某个留言所对应的回复只能被索引最后的回复。这个语句我也不会写。
    我要写的话,就..........能实现,但不现实(作为目录部分肯定浏览次数非常多。所以二次查表,并排序的方法肯定非常不好 )
    如果可能还是建议lz在message表加个更新时间字段。这样就容易了
      

  9.   

    真是太感谢pracc了,我已经做好了。
      

  10.   

    真是太感谢pracc了,我已经弄好了。
      

  11.   

    按ID进行排序就行了,回复表里应该有ID主键字段的