最初のクエリは問題ありませんが、しばらくの間は間違っています:
ここで行ったことを見てください:
$rows=mysql_fetch_array($query_run);
while($rows)
{
echo $rows['banner_no'];
echo $rows['banner_name'];
echo "<a href=\"".$rows['Banner_website_url']. "\">";
echo "<img src=\"".$rows['banner_image_url']."\" width=\"100px\" height=\"100px\">";
echo"</a>";
}
これは「無限ループ」で終了します原因$rows
常に設定されます。必要なものは次のとおりです。
while($rows=mysql_fetch_array($query_run))
これにより、myslq_fetch_array
が発生します while条件がチェックされるたびに新しい行を返します。そして、4行すべてが返された場合、$rows
falseになり、ループが停止します。
そして完了するために:2番目の例では、同じ行を正確に4回繰り返し、myslq_fetch_array
を呼び出して1回だけフェッチしました。 。
これに対する可能な解決策は、whileループ内で行を再度フェッチすることです。
$i=4;
while ($i>0){
$rows = mysql_fetch_array(...);
$i--;
}
ただし、最初のソリューションを選択する必要があります。これは、結果のカウントがイテレータ変数と一致するように注意する必要がないためです。
サイドノード:$row
と呼びます 's'なしで、常に1行だけ戻るためです。