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 つを 1 つの div にロードし、残りを非表示の別の div にロードしてから$('#hiddenResults').show();、[すべて表示] リンクをクリックするだけでロードする必要がありますか、それともこれを行うためのより効率的な方法はありますか?

ページには 30 個のアイテムがあり、その下にコメントがあります。

これに使用するタグがわからないので、いくつかで実行します。

4

2 に答える 2

1

最初のクエリで LIMIT を使用して、5 つのコメントのみを取得することをお勧めします。

$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 に答える