Mysql
 sql >> Database >  >> RDS >> Mysql

query per visualizzare quattro dati casuali dal database

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.