-1

次のモデルのスクリプトをコーディングしていました。

5つのイベントがあるとします。ユーザーがイベントに登録するには、いくつかの詳細を入力する必要があります。登録はチーム形式ですが、各イベントのメンバー数は異なります。

私のSQLテーブルには、5つのイベントすべてのメンバー数を格納eventsする行があります.members

members行に保存されたデータを使用してfor-loop、ユーザーが自分とチームの詳細を入力できるテーブルの HTML 表示を実行できます。

しかし、私はそのphp部分をどのようにコーディングするかについて混乱していますか? 私はphpを知っており、情報を取得してSQLデータベースに保存していますが、この特定のケースではphp、メンバーの数が同じではないため、すべてのイベントに対して個別のスクリプトをコーディングする必要があります.

編集#1

イベントは例えば。:

**event1**: number of members: 5 (mem_1, mem_2, mem_3, mem_4, mem_5) 
**event2**: number of members: 3 (mem_1, mem_2, mem_3)
**event3**: number of members: 2 (mem_1, mem_2)
**event4**: number of members: 4 (mem_1, mem_2, mem_3, mem_4)
**event5**: number of members: 6 (mem_1, mem_2, mem_3, mem_4, mem_5, mem_6)

mem_xフィールドには、メンバーの名前が格納されます。

では、登録用の 1 つの php スクリプトをコーディングするにはどうすればよいでしょうか。イベントごとにメンバー数が異なるため、すべてのイベントに対して個別の関数を作成する必要がありますか?

4

3 に答える 3

1

入力されたデータをチェックして、入力されたメンバーの数がイベントに許可されたメンバーの数と一致していることを確認します。

次に、データをループして、各 (新しい) メンバーを members テーブルに追加し、member_id と event_id を members_eventsジャンクション テーブルに追加します (メンバー数と同じ数の行を追加します)。

于 2013-02-06T13:41:35.760 に答える
0

私だったら、次のフィールドを含むテーブルを作成します。

Column Name        Example Value
member_id          [auto increment]
member_group       Step1
member_type        text
member_order       1
member_title       First Name
member_field_name  fname
member_default     enter first name
member_max_length  25

次に、PHP で次のようなクエリを実行できます。

$fields = mysql_query("Select * From [member table] Where member_group = 'Step1' Order By member_order;")
while ($field = mysql_fetch_assoc($fields)) {?>
    <label for="<?= $field['member_field_name']; ?>">
       <?= $field['member_title']; ?>
       <? switch ($field['member_type']) {
           case "text":
               echo "<input type=\"text\" name=\"".$field['member_field_name']."\" value=\"".$field['member_default']."\" />";
               break;
       }?>
    </label>
<?}

次に、ページを処理するときに、(フィールド名の) データベースからフィールドのリストを再度取得し、ページを処理します。

于 2013-02-06T13:51:51.743 に答える
0

メンバー数に応じて異なる機能は必要ありません。たとえば、挿入されたすべてのメンバーを配列に格納してから、次のようなことを行うことができます

foreach($members as $member){
   mysql_query ( "INSERT INTO members (name,eventID) VALUES (".$member['name'].",".$members['eventID'].")" );
}

ここで、$members はメンバー名を含む配列です。

これがあなたの知りたかったことですか?

于 2013-02-06T14:15:23.347 に答える