Mysql
 sql >> база данни >  >> RDS >> Mysql

заявка за показване на четири произволни данни от базата данни

Първата ви заявка е добре, но времето е грешно:

Просто вижте какво направихте тук:

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

това ще завърши с "безкраен цикъл" причина $rows винаги ще бъде зададено. Това, от което се нуждаете, е:

while($rows=mysql_fetch_array($query_run))

това ще доведе до myslq_fetch_array за връщане на нов ред всеки път, когато се проверява условието while. И ако се върнат всичките 4 реда, $rows ще бъде false и цикълът е спрян.

И за да бъдем завършени:Във втория си пример вие правите точно 4 повторения над СЪЩИЯ ред, току-що извлечете веднъж, като извикате myslq_fetch_array .

Възможно решение за това ще бъде извличането на реда отново ВЪТРЕ в while цикъла:

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

Все пак трябва да предпочетете първото решение, защото тогава не е нужно да се грижите резултатът да съответства на вашата променлива на итератора.

sidenode:Наречете го $row без "s", защото винаги получавате само ЕДИН ред назад.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направя time_to_minute в Mysql?

  2. MySQL UNIX_TIMESTAMP за PostgreSQL

  3. mySQL CAST и ASC / DESC

  4. Регистрация на потребител и проверка на имейл PHP и MySQL

  5. MySQL ГРУПА ПО възрастов диапазон, включително нулеви диапазони