ニュース Web サイトの検索機能は機能していましたが、機能を追加するためにコードを書き直し、データベースを再構築しています。以前は、検索したいすべての情報が 1 つのテーブルで見つかりました。これで、ニュース記事の基本データ用のテーブルと、テキストを含む 2 番目のテーブル (記事ごとに複数の行になる可能性があります) があります。最初の検索機能は簡単でした:
SELECT *
FROM pages
WHERE page_status != '99'
AND (page_title LIKE '%".mysql_real_escape_string($words)."%' OR page_text LIKE '%".mysql_real_escape_string($words)."%')
ORDER BY page_onlinedate DESC
「pages.page_text」はもう存在しないため、複数のテーブルを照会する必要があります。「page_content.content_text」という名前の 2 番目のテーブルに移動し、「page_content.content_page_id」で「pages.page_id」にリンクされています。
重複せずに結果を表示する方法がわかりません (すべてのテーブルを 1 回クエリし、page_content に複数の行がある可能性があるため、検索された単語が見つかった場合、たとえば同じ記事を 4 回表示できます)。タイトルとすべてのテキスト行に 1 回)。テーブルの結合で行う必要があると思いますが、結合は本当に混乱します。
もう一度、データベースのレイアウトを明確にします。
PAGES
page_id
page_title
page_onlinedate
...
PAGE_CONTENT
content_id
content_text
content_page_id
ご協力ありがとうございました。