0

私はデータベースの関係に比較的慣れていないので、セッションの基本的な登録のためにデータベースを設定するためのアドバイスが欲しいです。

目標:人々がサインアップできる新しいセッションを投稿します。セッションあたり最大8人。管理者側は、サインアップした人を見ることができます。

これが私が現在フロントエンドから持っているものです(これを操作している間、下部のサインアップボックスは一時的にそこにあります): フロントエンド

POSTで新しいトレーニングセッションを作成するためにバックエンドが機能しています。

<?php 

session_start();
include ('global/db/connection.php');
$session_name = $_POST['session_name'];
$session_description = $_POST['session_description'];
$session_date = $_POST['session_date'];

$result=MYSQL_QUERY("INSERT INTO trainingsessions (id,session_name,session_description,session_date,session_open_slots,session_booked_slots)".
   "VALUES ('NULL', '$session_name', '$session_description', '$session_date', '8', '0')");

header("location: admin.php");

?>

また、テーブルをクエリして、上のテーブルに結果を表示することもできました。私が理解しようとしているのは、ユーザー間にどのような関係とテーブルを作成し、まだ開いている適切な量のスロットを表示する必要があるかということです。

非常に基本的で、現時点では何も派手ではありません。他の検索では運が悪かったので、いくつかのファンダメンタルズを取り入れようとしているだけです。これが理にかなっていることを願っています、そしてあなたの助けに感謝します!

4

1 に答える 1

1

ユーザーとセッションの間に多対多の関係があります (おそらく)。本質的に、各ユーザーは多くのセッションに割り当てることができ、各セッションには複数のユーザーがいます。そのため、複合キーを作成する交差テーブルが必要です (主キーは複数のフィールドで定義されます)。たとえば、次のテーブルを作成します。

Table: user
Columns: ID (primary key), Username, email

Table: sessions
 columns: ID (primary Key), Name, Description, Date

Table: user_sessions
columns: user_id, session_id

この構造を使用すると、ユーザーは複数のセッションを持つことができ、セッションは複数のユーザーを持つことができます。

于 2012-09-26T02:48:26.223 に答える