La tua prima Query va bene, ma il tempo è sbagliato:
Guarda cosa hai fatto qui:
$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>";
}
questo terminerà in un "ciclo infinito" causa $rows
sarà sempre impostato. Ciò di cui hai bisogno è:
while($rows=mysql_fetch_array($query_run))
questo causerà myslq_fetch_array
per restituire una nuova riga ogni volta che viene verificata la condizione while. E se vengono restituite tutte e 4 le righe, $rows
sarà false e il ciclo verrà interrotto.
E per essere completo:nel tuo secondo esempio stai ripetendo esattamente 4 volte sulla STESSA riga, hai appena recuperato una volta chiamando myslq_fetch_array
.
Una possibile soluzione sarà recuperare la riga all'interno del ciclo while:
$i=4;
while ($i>0){
$rows = mysql_fetch_array(...);
$i--;
}
Tuttavia dovresti preferire la prima soluzione, perché non devi fare in modo che il conteggio dei risultati corrisponda alla tua variabile iteratore.
sidenode:chiamalo $row
senza le 's', perché ottieni sempre solo UNA riga indietro.