有两个数据库表:分别是用户留言表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>";
}
}
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>";
}
}
$result=mysql_query("select * from message order by addtime DESC limit $page $pagesize");这里应该是 ans_time 才对啊。哈哈
可以出现倒序了,不过因为一条留言对应多条回复,所以使用这句代码后,会出现多条相同的留言和对应相应的回复。
请问怎样才能出现一条留言,对应它的多条回复呢?是不是需要增加新的字段?
如果不修改,那么按ans表倒叙索引,如果某个热留言同时在最近的时间回复。那么就会出现同个留言几次出现在页面的情况。
如果一定要这样就要保证某个留言所对应的回复只能被索引最后的回复。这个语句我也不会写。
我要写的话,就..........能实现,但不现实(作为目录部分肯定浏览次数非常多。所以二次查表,并排序的方法肯定非常不好 )
如果可能还是建议lz在message表加个更新时间字段。这样就容易了