バックグラウンド
こんにちは、私はPHPとMySQLで実験/教育ツールを開発しています。私はSQLを初めて使用しますが、最初から正しい方法で物事をやりたいと思っています。私はすべての変数置換にPDOプリペアドステートメントを使用しており、可能な限りバックティックを使用しています(したがって、私が理解しているように、MySQL以外のデータベースには移植できません)。私の問題については、どうすればいいのか考えていますが、実装に数時間かかるので(SQLの構文も初めてです)、その間、最初に質問を作成したいと思いました。誰かが「これはそれをする方法ではありません!」と叫ぶことができる場合に備えて。何時間も節約できます。
問題
ユーザーがドロップダウンメニューから選択するインターフェイスを作成したいと思います。
- テーブル
A
、 - そのテーブルの1つ以上のフィールド(例:
A.x
およびA.y
、 - テーブル
B
、 - そのテーブルの1つ以上のフィールド(例:
B.z
およびB.y
、
送信すると、コードは内部結合を実行し、各フィールドにそれぞれ一致します。たとえばA.x = B.z
、A.y = B.y
など、一致したすべての行を返します。
私の計画は、INNER JOIN
SQLステートメントを生成し、フィールドをループしてプレースホルダー(?
)を挿入し、それぞれのパラメーターをバインドして、最後にステートメントを実行することです。
これを行う簡単な方法はありますか?これを行うためのより良い方法はありますか?これはどういうわけか悪用可能ですか?
事前にどうもありがとうございました。私が終了するまでに誰も応答しない場合(疑わしい)、私は解決策を投稿します。
その他
検証すると仮定します
A
ユーザーがとの間で同数のフィールドを選択することB
、- フィールドとテーブルが存在すること、
- 等
また、フィールド名は同一である必要はありません。順番に一致します。(私が気付いていないかもしれない他の詳細を指摘してください!)
最終的には、これらの選択を「設定」テーブル自体に保存することが目標です。実際、ユーザーは戻ってくるたびに見たい「ビュー」を作成します。