Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

truy vấn để hiển thị bốn dữ liệu ngẫu nhiên từ cơ sở dữ liệu

Truy vấn đầu tiên của bạn ổn, nhưng sai một chút:

Chỉ cần xem những gì bạn đã làm ở đây:

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

điều này sẽ kết thúc trong một "Vòng lặp vô hạn" gây ra $rows sẽ luôn được thiết lập. Điều bạn cần là:

while($rows=mysql_fetch_array($query_run))

điều này sẽ gây ra myslq_fetch_array để trả về một dòng mới mỗi khi điều kiện while được kiểm tra. Và nếu tất cả 4 hàng đều được trả về, $rows sẽ là false và vòng lặp bị dừng.

Và để hoàn chỉnh:Trong Ví dụ thứ hai, bạn đang lặp lại chính xác 4 lần trên hàng CÙNG, bạn chỉ cần tìm nạp một lần bằng cách gọi myslq_fetch_array .

Một giải pháp khả thi cho điều đó là tìm nạp lại hàng BÊN TRONG vòng lặp while:

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

Tuy nhiên, bạn nên thích giải pháp đầu tiên hơn, vì sau đó bạn không cần quan tâm đến việc số lượng kết quả có khớp với biến trình lặp của bạn hay không.

sidenode:Gọi nó là $row không có 's', bởi vì bạn luôn chỉ nhận lại MỘT hàng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đọc tham số cấu hình cơ sở dữ liệu bằng cách sử dụng tệp thuộc tính trong chế độ ngủ đông

  2. Tôi nhận được nhiều select @@ session.tx_read_only, một cái có làm như vậy không?

  3. php mysql fulltext search:lucene, sphinx, or?

  4. Trình điều khiển J MySQL / Trình kết nối trong Jenkins Script Console / Scriptler

  5. MariaDB - INNODB bỏ qua chuỗi số trong khi tạo các bản ghi tăng dần - tại sao?