-1

私はこれらすべてに不慣れで、探している答えを得るためにグーグルで適切な検索を見つけることができないようです. ユーザーが新しいトランザクションを作成するために使用するフロント エンドがあります。「トランザクション」と 1:M の関係を持つ「カテゴリ」テーブルに関連付けられたドロップダウン メニューがあります (画像を参照)。私の質問は、ユーザーが新しいトランザクションを保存するためにこのフォームを送信した場合、ユーザーはカテゴリ テーブルの ID を知らず、カテゴリ テーブルから取得したドロップダウンから ID を選択するだけです。この時点で私が知っている方法は、ドロップダウンから入力を取得し、それをトランザクション テーブルのフィールドに格納することだけです。リレーションシップの使用方法を理解しようとしていますが、キーがどのように機能するかについての私の限られた理解では、ID 番号が何であるかを知らなければ、それでは関係はうまくいきません。ドロップダウンから送信を取得してトランザクション テーブルに保存するだけの場合、カテゴリ名が 2 つの異なるテーブルに保存されているだけなので、意味はありません。ここのどこかで一歩が欠けています。誰かがこれを理解するのを手伝ってくれることを願っています。

ここに画像の説明を入力

4

1 に答える 1

2

ユーザーはカテゴリ ID を知りません。(必要に応じて可能ですが、マークアップに記載されています。) さらに重要なことは、コードがカテゴリ ID を知っていることです。そのドロップダウン リスト (select要素) を作成するとき、コードはID と名前の両方を入力します。ID は値に使用され、Name は表示テキストに使用されます。

結果のマークアップは次のようになります。

<select name="category">
    <option value="1">First Category</option>
    <option value="2">Second Category</option>
    <option value="3">Third Category</option>
</select>

等々。

ユーザーがいずれかを選択すると、テキストに基づいて選択されます。しかし、実際のフォームは、選択されたオプションのをサーバーに送り返します。したがって、ユーザーが選択した場合Second Category、サーバー側のコード$_POST["category"]には value が含まれます2。これは、トランザクション レコードに挿入する必要がある ID です。

于 2013-10-06T15:10:47.880 に答える