我对一个页面的项目有一个评论部分,但是对于某些项目可能会有很多评论。
我想要做的只是显示前x个结果,然后点击链接,例如查看全部我可以显示所有项目(不是所有项目)。
目前我使用的是这样的东西:
$result350 = mysql_query("SELECT * FROM messages where id=$id order by dateadded asc",$db);
echo '<div id="wallWall$id">';
while($db88 = mysql_fetch_array($result350)){
echo '<div class="msgs_row">
<div class="msgs_pic">
<img src="'.$db88[live_prof_pic].'">
</div>
<div class="msgs_comment">'
.stripslashes($db88[comment]).
'</div></div>';
}
echo '</div>';
所以,我可以将while循环更改为
for ($i = 1; $i <= 4; $i++) {
echo ...
}
所以我只显示前4个但是如何修改显示以显示所有?
我是否应该将前4个加载到一个div中,然后将其余部分加载到另一个div中,然后单击view all链接只显示$('#hiddenResults').show();
或者是否有更好的方法来执行此操作?
页面上可能有30个项目,其中包含评论。
不确定要使用哪个标签,因此会与一对标签一起使用。
答案 0 :(得分:1)
我建议在第一个只提取5条评论的查询中使用LIMIT。
$result350 = mysql_query("SELECT * FROM messages where id=$id order by dateadded asc LIMIT 5",$db);
在单击链接以加载所有注释时,您可以对服务器进行Ajax调用,该服务器将获取所有注释(此时不要在查询中使用LIMIT或保持高位,例如50)。然后你可以使用javascript或jquery显示在ajax响应中收到的所有评论。
答案 1 :(得分:0)
如果要加载大量其他注释,Ajax解决方案很不错。如果真的不是那么多(比如30 - 50)那么最好按照你提到的方式与原始页面一起发送它,但是在一个隐藏的div中。