0

PHP、MySQL を使用して、教育機関で使用する Web サイトを開発しています。

これの機能の 1 つは、バッチを作成するときにレクチャーを割り当てることです。講義を開始バッチに割り当てるために、システムは、利用可能性と資格に基づいて利用可能な講義を促します。その後、コースコーディネーターが決定します。

私の問題は、指定された時間枠で特定の曜日に講義の空き状況を確認する方法です。

私は、講義のスケジュールを、letudent_Id、Batch_Id、day、start_time、end_time、start_day、end_day を示すテーブルに保持することを計画しています。

次に、空き状況を確認するときに、利用可能なlecture_Idを確認するために複雑なクエリを作成する必要があります。私はまだそれを理解できませんでした。

これを行う他のスマートな方法はありますか?

ありがとう

4

1 に答える 1

0

あなたが情報を保存することを提案している方法は、私がそれを行うことを考える最初の方法です.複雑なクエリはそれほど悪くはありません.

私の理解が正しければ、レクチャーは別のテーブルに保存されており、lecture_schedules テーブルと 1 対多の関係がありますか? もしそうなら、これは与えられた時間範囲のレクチャーの詳細を取得します。

このようなもの:

SELECT * FROM lecture_schedules 
         INNER JOIN lectures USING(lecture_id) 
         WHERE start_day<=DAY(yourstarttime) AND end_day>=DAY(yourendtime) 
         AND start_time<=yourstarttime AND end_time>=yourendtime;

yourstarttime実際のスキーマを反映するようにテーブル名と列名を編集し、とyourendtimeを時間範囲の値に置き換える必要があることに注意してください。

お役に立てれば

EDIT:このクエリは、スキーマ内の列とそれらの列のデータ型についていくつかの仮定を立てています-コピーして貼り付けただけで、最初はうまくいくとは思わないでください:)

于 2012-04-26T11:51:41.113 に答える