Bagaimana untuk Menggabungkan Pelbagai Carian Jadual dalam PHP dengan MySQL dan Kata Kunci?

Linda Hamilton
Lepaskan: 2024-11-12 12:11:02
asal
900 orang telah melayarinya

How to Combine Multiple Table Searches in PHP with MySQL and a Keyword?

Menggabungkan Pelbagai Carian Jadual dalam PHP dengan MySQL dan Kata Kunci

Anda mempunyai pangkalan data dengan tiga jadual: mesej, topik dan ulasan. Setiap jadual mengandungi dua medan, 'kandungan' dan 'tajuk'. Matlamat anda adalah untuk melakukan satu pertanyaan carian yang mencari melalui semua enam medan (message.content, messages.title, topics.content, topics.title, comments.content, comments.title) menggunakan kata kunci yang ditentukan.

Untuk mencapai ini, ubah suai pertanyaan anda untuk menggunakan berbilang pernyataan UNION. Setiap pernyataan UNION akan mencari jadual tertentu menggunakan operator LIKE untuk kata kunci dalam medan 'kandungan' dan 'tajuk'. Pertanyaan dikemas kini berikut menggabungkan ketiga-tiga carian:

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);
Salin selepas log masuk

Pertanyaan ini menggunakan operator UNION untuk menggabungkan keputusan setiap pernyataan SELECT ke dalam set hasil tunggal. Medan 'jenis' yang ditambahkan menunjukkan jadual asal baris itu.

"msg" = messages table
"topic" = topics table
"comment" = comments table
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Pelbagai Carian Jadual dalam PHP dengan MySQL dan Kata Kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan