显示一些数据库结果,然后显示所有点击 - 建议

时间:2013-03-17 08:21:14

标签: php jquery mysql

我对一个页面的项目有一个评论部分,但是对于某些项目可能会有很多评论。

我想要做的只是显示前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个项目,其中包含评论。

不确定要使用哪个标签,因此会与一对标签一起使用。

2 个答案:

答案 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中。