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

forespørgsel for at vise fire tilfældige data fra databasen

Din første forespørgsel er fin, men tiden er forkert:

Se bare, hvad du gjorde her:

$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>";
}

dette vil ende i en "uendelig løkke" forårsaget af $rows vil altid være indstillet. Det du har brug for er:

while($rows=mysql_fetch_array($query_run))

dette vil forårsage myslq_fetch_array for at returnere en ny linje, hver gang while-tilstanden er kontrolleret. Og hvis alle 4 rækker returneres, $rows vil være falsk, og løkken stoppes.

Og for at være komplet:I dit andet eksempel gentager du nøjagtigt 4 gange over den SAMME række, du har lige hentet én gang ved at kalde myslq_fetch_array .

En mulig løsning på det vil være at hente rækken igen INDE i while-løkken:

$i=4;
while ($i>0){
    $rows = mysql_fetch_array(...);
    $i--;
}

Du bør dog foretrække den første løsning, for så behøver du ikke passe på, at resultattællingen matcher din iteratorvariabel.

sidenode:Kald det $row uden ''erne', fordi du altid kun får EN række tilbage.



  1. Forstå flere kolonneindekser i MySQL-forespørgsel

  2. Regex for at matche MySQL-kommentarer

  3. Kan ikke hente data fra database til script-tag, mens grafen bruges

  4. Hvordan kan jeg aktivere MySQL langsom forespørgselslog på min server?