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

Tìm kiếm theo tiêu chí dựa trên Trường văn bản và Menu danh sách

Có điều gì đó kỳ lạ trong mệnh đề where của bạn.

Nếu bạn kiểm tra:(A VÀ B) HOẶC (A HOẶC B)

A => a.establishment_name LIKE '".$search_value."'
B => a.location_id = '".$location_search_value."'

NẾU A đúng, thì không cần b đúng. Và điều này giải thích ví dụ thứ ba của bạn không hoạt động. Tôi nghĩ bạn nên kiểm tra giá trị của mình và tạo mệnh đề WHERE chính xác dựa trên lời giải thích của bạn.

if($search_value != "" && $location_search_value == "") {
    $where = "a.establishment_name LIKE '".$search_value."'";
} else if ($search_value == "" && $location_search_value != "") {
    $where = "a.location_id = '".$location_search_value."'";
} else {
    $where = "(a.establishment_name LIKE '".$search_value."' AND a.location_id = '".$location_search_value."')";
}
$query = "SELECT a.*, b.location_name ".
         "FROM establishment a ".
         "JOIN location b ON a.location_id = b.location_id ".
         "WHERE ".$where; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận kết quả nằm trong bức xạ điểm đánh dấu từ cơ sở dữ liệu

  2. Ý nghĩa hiệu suất của lập lịch sự kiện MySQL

  3. Tổng hợp dữ liệu mongodb và mysql

  4. Làm thế nào để Mysql JDBC Driver cho Android Studio

  5. lưu trữ số âm trong trường thập phân của bảng mysql kể từ phiên bản 5.0.3