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

Trang 'Tìm kiếm Nâng cao' của Php / MySql

Tôi sẽ đề xuất sử dụng Tìm kiếm toàn văn bản của MySQL sử dụng điều này với Tìm kiếm toàn văn bản Boolean bạn sẽ có thể nhận được kết quả mong muốn của mình.

Chỉnh sửa:

Ví dụ được yêu cầu dựa trên các điều kiện bạn yêu cầu ("Trường đó chỉ là một trường và họ có thể chọn một trong 4 tùy chọn (tức là 1 từ, các từ chính xác, ít nhất 1 từ, không có thuật ngữ).")

Tôi giả sử bạn đang sử dụng php dựa trên bài đăng đầu tiên của bạn

<?php
$choice = $_POST['choice'];
$query = $_POST['query'];

if ($choice == "oneWord") {
    //Not 100% sure what you mean by one word but this is the simplest form
    //This assumes $query = a single word
    $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('{$query}' IN BOOLEAN MODE)");
} elseif ($choice == "exactWords") {
    $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('\"{$query}\"' IN BOOLEAN MODE)");
} elseif ($choice == "atLeastOneWord") {
    //The default with no operators if given multiple words will return rows that contains at least one of the words
    $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('{$query}' IN BOOLEAN MODE)");
} elseif ($choice == "withoutTheTerm") {
    $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('-{$query}' IN BOOLEAN MODE)");
}
?>

hy vọng điều này sẽ giúp sử dụng đầy đủ các toán tử trong các đối sánh boolean, hãy xem Tìm kiếm toàn văn bản Boolean



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham số hóa tên tệp trong THÔNG TIN DỮ LIỆU TẢI MYSQL

  2. Cách tạo blog trong cơ sở dữ liệu PHP và MySQL - Backend

  3. mysql vòng lặp while Break tương đương

  4. MySQL:Không thể sử dụng SIGNAL trong Trigger

  5. CodeIgniter chuyển trình điều khiển từ mysql -> mysqli