將PHP 中的多表搜尋與MySQL 和關鍵字結合
您有一個包含三個表格的資料庫:訊息、主題和評論。每個表包含兩個字段,“內容”和“標題”。您的目標是執行單一搜尋查詢,使用指定的關鍵字搜尋所有六個欄位(messages.content、messages.title、topics.content、topics.title、comments.content、comments.title)。
要達到此目的,請修改查詢以使用多個 UNION 語句。每個 UNION 語句將使用 LIKE 運算子在「內容」和「標題」欄位中搜尋關鍵字來搜尋特定表。以下更新後的查詢組合了所有三個搜尋:
$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);
此查詢使用 UNION 運算子將每個 SELECT 語句的結果組合到單一結果集中。新增的“type”欄位指示該行源自哪個表。
"msg" = messages table "topic" = topics table "comment" = comments table
以上是如何將 PHP 中的多個表搜尋與 MySQL 和一個關鍵字組合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!