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

Kết hợp tìm kiếm trường bằng PHP &MYSQL

Thay vì tất cả những điều kiện đó về việc có nên thêm AND hay không khi nối với truy vấn, hãy sử dụng một mảng và implode .

$fields = array('sport' => 'sport',
                'gender' => 'gender', 
                'fname' => 'firstName',
                'lname' => 'lastName',
                'country' => 'country');
$wheres = array();
foreach ($fields as $postfield => $dbfield) {
    if ($_POST[$postfield] != 'showAll') {
        $wheres[] = "$dbfield = '" . mysql_real_escape_string($_POST[$postfield]) . "'";
    }
}
$selectString = "SELECT t2ath.lastName, t2ath.firstName, t2ath.image, t2ath.sport, t2ath.gender, t2ath.country, t2country.flag 
                 FROM t2ath LEFT JOIN t2country
                 ON t2ath.country = t2country.name";
if (count($wheres) > 0) {
    $selectString .= " WHERE " . implode(" AND ", $wheres);
}
$result = mysql_query($selectString);

Để xem cách thực hiện tương tự bằng cách sử dụng các câu lệnh do PDO chuẩn bị, hãy xem câu trả lời của tôi tại đây: Cách tiếp cận mã nào sẽ cho phép người dùng áp dụng ba biến tùy chọn trong PHP / MySQL?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép một bảng MySQL bao gồm các chỉ mục

  2. MySQL - Kết hợp nhiều điều kiện WHEN trong CASE

  3. Cách chạy máy chủ lưu trữ mysqladmin trên Amazon RDS

  4. Làm cách nào để lưu trữ trường văn bản nhiều ngôn ngữ trong mysql với php?

  5. Tạo bảng không thành công với Ràng buộc khóa nước ngoài được định dạng không chính xác