Kueri pertama Anda baik-baik saja, tetapi sementara salah:
Lihat saja apa yang Anda lakukan di sini:
$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>";
}
ini akan berakhir dengan "Loop tak terbatas" karena $rows
akan selalu disetel. Yang Anda butuhkan adalah:
while($rows=mysql_fetch_array($query_run))
ini akan menyebabkan myslq_fetch_array
untuk mengembalikan baris baru setiap kali kondisi while dicentang. Dan jika semua 4 baris dikembalikan, $rows
akan salah dan loop dihentikan.
Dan untuk melengkapi:Dalam Contoh kedua Anda, Anda persis mengulangi 4 kali pada baris yang SAMA, Anda baru saja mengambil satu kali dengan memanggil myslq_fetch_array
.
Solusi yang mungkin untuk itu adalah mengambil baris lagi DI DALAM loop sementara:
$i=4;
while ($i>0){
$rows = mysql_fetch_array(...);
$i--;
}
Namun Anda harus memilih solusi pertama, karena Anda tidak perlu memastikan bahwa jumlah hasil cocok dengan variabel iterator Anda.
sidenode:Sebut saja $row
tanpa 's', karena Anda selalu mendapatkan SATU baris kembali.