私は自分の Web サイト用に ajax コメント システムを作成しており、特定のフィールドを持つコメントについてデータベースにクエリを実行しています。次に、返された結果の数が 3 より大きいか、3 以下かどうかを調べます (3 には特定の理由があります)。3 より大きい場合は、変数 = 3 を設定しますが、3 以下の場合は、返された行数に等しい変数を設定します (mysql_num_rows()
)。次に、ループの前にいくつかのテキストをエコーし、次にループ内の内容をエコーし、ループの後にさらに内容をエコーします。何らかの理由で、for ループが指定された時間よりも多く実行されています。非常に奇妙なのは、次のコメントに移動する前に同じコメントを 3 回エコーし、それを 3 回エコーしていることです。for ループの後、合計 9 個のコメントがあります。コメントを配置している場所に 3 つのコメントしか収まらないため、これは私のデザインでは機能しません。PHPに送信する情報に基づいて必要な情報を取得するために複数回クエリを実行する必要があるため、forループは数回ネストされています(これも特定の理由です)。もう1つのことは、PHPは、返された結果の数が9回以上の場合にのみ、コメントをエコーします3 未満の場合は 3 で問題ありません。このコードを 50 回繰り返しましたが、何も見つかりません。多分あなたたちはできるでしょう。私が使用しているコードは次のとおりです。
$comments = mysql_query("SELECT * FROM comments WHERE profid = '".$row['id']."'");
$numComments = mysql_num_rows($comments);
$totalCommComments = 0;
if ($numComments > 0) {
if (mysql_num_rows($comments) > 3) {
$totalCommComments = 3;
echo '
<div class="comments">
<div class="commContainer">
<ul class="'.$totalCommComments.'Comm">';
while ($get1 = mysql_fetch_array($comments)) {
for ($l = 1;$l<$totalCommComments;$l++) {
echo 'STUFF IS ECHOED HERE';
}
}
echo '
</ul>
</div>
</div>';
でクラスを確認できるので、変数$totalCommComments
が 3 に設定されていることがわかります<ul>
。
PS。これは完全なコードではなく、関連するコードのみです。他のすべては、このクエリを作成するために必要な他の情報を別のデータベースにクエリしています。
どうもありがとう