0

我在一个页面上有一个关于项目的评论部分,但是对于某些项目的很多评论,这可能会变得很长。

我想要做的是只显示前 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 中,然后只需$('#hiddenResults').show();单击查看所有链接,还是有更好更有效的方法来做到这一点?

页面上可能有多达 30 个项目,其下有评论。

不确定要为此使用哪些标签,因此将与几个一起运行。

4

2 回答 2

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 响应中收到的所有评论。

于 2013-03-17T08:34:33.047 回答
0

如果您有很多额外的注释要加载,Ajax 解决方案非常好。如果它不是真的那么多(比如 30 - 50),最好按照您提到的方式将它们与原始页面一起发送到哪里,但在隐藏的 div 中。

于 2013-03-17T09:44:35.687 回答