最初に質問してから (多くの...情報): ユーザーがドロップダウン ボックスから複数の回答を選択し、それらをプロファイルに保存してから、他のユーザーがキー入力できるようにしたい場合に、使いやすさと速度を考えるオプションは何ですか?彼らの検索基準(再び複数にすることができます)と最終的にそれらの複数の検索基準によってユーザーを見つけますか?
情報: 現時点では、出会い系サイトが使用するのと同じように、私のウェブサイトの一部がマッチメイキング システムであることに忙しくしています。
(私は自分のサイトに Mysqli、PHP、および jQuery を使用しています)
質問を詳しく説明するために、例として出会い系サイトを使用しています。ユーザー A は自分のプロフィールを入力し、特定の自動車ブランド (BMW、フォルクスワーゲン、メルセデス) の好みを入力します。ユーザー B は、BMW やメルセデスが好きなメンバーをサイトで検索したいと考えています。
私の最初のアイデアは、ユーザー A が複数の入力 HTML フィールドに入力し、それをデータベースの 1 つの列に配列 (またはコンマ区切り) として格納できるようにすることでした。次に、ユーザー B の配列が格納されている列を選択検索する方法を見つけます。
したがって、基本的に、ユーザー A は自分のプロファイルに複数の自動車ブランドを入力でき、ユーザー B は複数の自動車ブランドを基準に指定できます。選択クエリは、条件に一致する行をフェッチする必要があります。
入力フィールドの倍数は次のようになります。
<tr><td>Which car brand(s) do you like?</td><td>
<select multiple name="CarBrandPref[]">
<option value="BMW" > BMW</option>
<option value="Ford" > Ford</option>
<option value="Mercedes" > Mercedes </option>
<option value="GMC" > GMC</option>
<option value="Volkswagen" > Volkswagen </option>
<option value="Toyota" > Toyota </option>
<option value="Audi" > Audi </option>
</select>
</td></tr>
プロファイル テーブルのレイアウトは次のようになります。
Id Name CarbrandPref
--------------------------------------------------------
1 Mike bmw,volkswagen,mercedes
2 Paul Mercedes, ford, GMC
3 Axel GMC, ford, toyota, audi
4 John ford, bmw
ユーザー B は、検索条件として「bmw and mercedes」を指定します。クエリは 3 行を返します。
Id Name CarbrandPref
---------------------------------------------------------
1 Mike bmw,volkswagen,mercedes
2 Paul Mercedes, ford, GMC
4 John ford, bmw
これを機能させるためにSOや他のサイトを検索したところ、これ(dbの配列に保存すること)はパフォーマンスに悪いなどと誰もが言っていることに気づきました。さらに、mysqlの配列を介して選択検索を機能させることができません.
だから今、私は何をすべきか途方に暮れています。可能な自動車ブランドごとに列を追加したくありませんが、他に何をすればよいですか? これで私を助けることができる人はいますか?どんなアイデアでも大歓迎です!
これが誰かが私を助けるのに十分明確であることを願っています。そうでない場合は、お知らせください。要求された情報を追加します。
これらのリンクを使用して、ドロップダウン ボックスに入力された配列を mysql データベースに保存できるようにしました。