-1

これが私が得たものです:

 $pagecount=0;
while($row = $result->fetch_assoc()){
 echo '<div style="background-image:url(images/paper.jpg);">';
    while ($pagecount < 3) {
    while($row = $result->fetch_assoc()){
        echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
        $pagecount++;
        }
    }
$pagecount=0;
echo '</div>';
}

問題は、これを実行すると、$victim、$cod、そして $pagecount が出力されることです。ページカウントを 3 より大きくしたくないので、while ステートメントを挿入して、3 に達するとループを終了し、ページカウントが 0 に戻ってから再び増加し始めるようにします。ただし、これを実行すると、ページ数が増え続け、3 に達せず、0 に戻ります。誰か助けてもらえますか?? 私の条件やループなどに何か問題がありますか?

また、最初のものを使用する代わりに$row = $result->fetch_assoc()、結果が空にならないかどうかを確認するために使用できるものがありますか?

乾杯!

編集:これまでに全員のソリューションをテストしましたが、それらはすべて私のために機能しました。1 つのことをさまざまな方法で実行できることを示しています。

皆様ありがとうございました、大変お世話になりました。とても有難い。:)私が最終的に行ったのはwhile、内側のループからステートメント全体を完全に削除することでした。

ただし、$row = $result->fetch_assoc()最初の DB エントリがまだスキップされているためです。これを回避する方法はありますか?

4

4 に答える 4

1

これを試して :

$pagecount=0;
while($row = $result->fetch_assoc()){
    echo '<div style="background-image:url(images/paper.jpg);">';
    while($pagecount < 3 && $row = $result->fetch_assoc()){
       echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
       $pagecount++;
    }
    $pagecount=0;
    echo '</div>';
}
于 2013-10-31T10:26:11.243 に答える
0
while ($pagecount < 3) {
    while($row = $result->fetch_assoc()){
        echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
        $pagecount++;
        }
    }

ページ数をチェックしないため、内部の while は fetch_assoc ができる限りループし続けます。

条件を内側に移動します:

    while($pagecount < 3 && $row = $result->fetch_assoc()){
        echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
        $pagecount++;
        }
于 2013-10-31T10:26:07.070 に答える
0

$row = $result->fetch_assoc()ループ内で using を使用する$row = $result->fetch_assoc()と、結果のポインターが前に進みすぎます。ループを実行する前に、すべてのオブジェクトを配列に格納することをお勧めします。

于 2013-10-31T10:24:55.487 に答える
0
$pagecount++;

内側のループの外に移動する必要があります。つまり、

while($row = $result->fetch_assoc()){
    echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div     class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
    //moved 1 level: $pagecount++;
    }
$pagecount++;
}

コードのインデントが役に立ったかもしれません:)

于 2013-10-31T10:27:42.000 に答える