sql >> Databasteknik >  >> RDS >> Mysql

fråga för att visa fyra slumpmässiga data från databasen

Din första fråga är bra, men tiden är fel:

Titta bara på vad du gjorde här:

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

detta kommer att sluta i en "oändlig loop" orsaka $rows kommer alltid att ställas in. Det du behöver är:

while($rows=mysql_fetch_array($query_run))

detta kommer att orsaka myslq_fetch_array för att returnera en ny rad varje gång medan villkoret kontrolleras. Och om alla fyra raderna returneras, $rows kommer att vara falsk och slingan stoppas.

Och för att vara komplett:I ditt andra exempel upprepar du exakt 4 gånger över SAMMA rad, du hämtade bara en gång genom att anropa myslq_fetch_array .

En möjlig lösning på det är att hämta raden igen INNE i while-loopen:

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

Men du bör föredra den första lösningen, för då behöver du inte se till att resultaträkningen matchar din iteratorvariabel.

sidenode:Kalla det $row utan "s", eftersom du alltid bara får EN rad tillbaka.



  1. Vad betyder kolumnflaggor i MySQL Workbench?

  2. Felsökning av privata procedurer

  3. MySQL - Ryska tecken visas felaktigt

  4. Hur man visar sorteringen av en kolumn i SQL Server (T-SQL)