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

Sql chọn các phần tử phù hợp với mảng và hiển thị chúng thành một hàng

Những gì bạn nên làm ở đây là sử dụng IN CLAUSE . Chuyển đổi $_POST[] thành một chuỗi được phân tách bằng dấu phẩy.

$choices = implode(', ', $_POST['choices']);

SELECT name, item, price, images FROM `my-tb` WHERE item IN ($choices)

Điều này sẽ tạo ra một truy vấn như:

SELECT name, item, price, images FROM `my-tb` WHERE item IN (a,b,d)

Điều này cũng sẽ giúp bạn không lặp lại $_POST của mình và thực hiện nhiều truy vấn không cần thiết.

Ghi chú bên lề

Tôi không chắc liệu bảng thực tế của bạn có được đặt tên là my-tb hay không nhưng nếu bạn có hyphens trong tên bảng của bạn, bạn phải sử dụng backticks để đóng gói tên chuỗi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ hiển thị ngày gần đây nhất từ ​​bảng MySQL đã tham gia

  2. Cách bảo vệ Cơ sở dữ liệu MySQL khỏi Chiến dịch Ransomware

  3. Hành vi MySQL JOIN mặc định, INNER hay OUTER là gì?

  4. MySql Chèn hàng loạt

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