私はデータベースのフィールド内のキーワードを探す必要があるmysqlクエリを使用してデータを取得しようとしています。複数の単語に一致するmysqlクエリとPHPを使って結果を表示
私のデータベース内のユーザーは、自分の「科目」欄に次のように持っていることがあります。
「数学|科学|読書|書き込み '
これは、ユーザーがすべての主題を受け入れることを意味します。このテーブルは 'user_teacher'と呼ばれます
私は学生のための別のテーブルを持っています(student_requestsと呼ばれます)、科学、数学、あるいは2つの科目の学生からの要求から成ります(この場合、 「科学|数学」のように見える)。このテーブルは、これらの値を「被験者」というフィールドにも格納します。
私の質問は、「student_requests」のエントリを検索して、どのテーブルに「user_teacher」というテーブルの特定のユーザーのプロファイル内のリストされたサブジェクトに一致するクエリをどのように作成するのですか?のは、私が最初にこのようなものを使用して、教師の件名フィールドをルックアップすることを想定してみましょう:言い換えれば
$query = "SELECT * FROM user_teacher WHERE username = '$username' LIMIT 1 ";
$result = mysql_query($query);
while ($row = mysql_fetch_object($result)) {
$teacher_subjects=$row->subject;
}
、私は読書と数学を提供しています教師です場合、i「はstudent_requests」テーブル内のすべてのエントリを見てみたいですここでは、件名フィールドに「数学」や「読書」があります。
これについてのご支援をいただければ幸いです。また、私がテーブルの設定方法に基づいてこの問題に間違っていると思われる場合は、私に知らせてください。ここでの目標は、できるだけ早くクエリを実行することです。
ありがとうございます!
この方法は、賢明なドールShemerにより、以下の提案された解決策より高速なパフォーマンスになりますか? –
@robmelinoはい、私のバージョンはシステムの正規化です。ウィキペディアに3つの正規形をチェックしてください。 – khael
あなたが説明したようにテーブルを作成したと仮定すると、あなたの答えにjoin mysqlクエリの例を含めることができますか?あるいは、あなたが提案したPHPチェック?助けてくれてありがとう! –