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

Mệnh đề WHERE được tạo động PHP / MySQL

Thay vì tạo chuỗi where, trước tiên tôi sẽ tạo một mảng với các phần where.

$whereParts = array();
foreach($aColumns as $i => $column)
{
    <logic goes here>
    $whereParts[] = 'genre_id IN (1,3,5,6)'; // sample :)
}

$where = 'WHERE ' . implode(' OR ', $whereParts); // note the spaces around OR

Sau đó, thật dễ dàng để thay thế ' OR ' với ' AND '

Thật dễ dàng để cho phép người dùng chọn giữa VÀ và HOẶC cho tất cả các bộ phận, nhưng không phải nếu bạn muốn làm điều đó cho từng mục riêng lẻ. Đó cũng là một vấn đề logic. Khi người dùng chỉ định a OR b AND c , anh ấy có muốn (a OR b) AND c hoặc a OR (b AND c) ?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tìm tất cả các chuỗi chữ hoa trong bảng MySQL?

  2. LỖI trong PDO:Cuộc gọi đến một hàm thành viên chuẩn bị () trên null

  3. Kết nối cơ sở dữ liệu động Codeigniter

  4. Chỉ chọn các mục nhập được nhóm mới nhất

  5. MySQL:Bạn có thể chỉ định một giới hạn ngẫu nhiên không?