Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Halaman 'Pencarian Lanjutan' Php/ MySql

Saya menyarankan penggunaan Pencarian Teks Lengkap MySQL menggunakan ini dengan Penelusuran Teks Lengkap Boolean fungsionalitas Anda harus bisa mendapatkan hasil yang Anda inginkan.

Sunting:

Contoh yang diminta berdasarkan kondisi yang Anda minta ("Hanya satu bidang dan mereka dapat memilih salah satu dari 4 opsi (yaitu 1 kata, kata persis, minimal 1 kata, tanpa istilah).")

Saya berasumsi Anda menggunakan php berdasarkan posting awal Anda

<?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)");
}
?>

semoga ini membantu untuk penggunaan penuh operator dalam pencocokan boolean, lihat Penelusuran Teks Lengkap 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. Teks lengkap MySQL dengan batang

  2. Mana yang lebih cepat — INSTR atau LIKE?

  3. Beberapa Pengaturan Pusat Data Menggunakan Galera Cluster untuk MySQL atau MariaDB

  4. flask-login:tidak mengerti cara kerjanya

  5. Masukkan nilai NULL ke dalam kolom INT