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

while ($ row =mysql_fetch_assoc ($ result)) - Làm thế nào để bỏ qua $ hàng?

Giả sử rằng mỗi hàng trong cơ sở dữ liệu của bạn trông như thế này ...

[product_id][product_name][product_description][product_price]

Khi bạn chỉ định truy vấn của mình, trả về cho một biến được chuyển qua mysql_fetch_assoc() sử dụng vòng lặp while, mỗi lần vượt qua sẽ cách ly toàn bộ một hàng. Trong số đó, bạn có thể chia nhỏ theo cách thủ công bằng tham chiếu khóa mảng ($array['product_id'] ) hoặc bằng cách sử dụng một vòng lặp foreach. Tôi nghĩ vấn đề bạn đang gặp phải là bạn đang trộn lẫn điều này. Lưu ý đến bố cục bảng mẫu ở trên, bạn có thể làm như sau:

while ($tableRow = mysql_fetch_assoc($query)) { // Loops 3 times if there are 3 returned rows... etc

    foreach ($tableRow as $key => $value) { // Loops 4 times because there are 4 columns
        echo $value;
        echo $tableRow[$key]; // Same output as previous line
    }
    echo $tableRow['product_id']; // Echos 3 times each row's product_id value
}

Nhìn vào dòng này trong mã của bạn:if ($product['id'] == $id) { }

Tôi nghĩ có lẽ ý bạn là if ($row['id'] == $id) { } thay vào đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql GROUP_CONCAT trùng lặp

  2. Kiểm soát truy cập MYSQL

  3. Lỗi Keyerror 255 khi thực thi pymysql.connect

  4. chọn các hàng có id từ một bảng khác

  5. Truy vấn MySQL để lấy tên cột?