私はユーザーのイベントの読み取り専用の毎週カレンダービューを作成しています。 列は曜日です(月>日) 行はタイムスロットです(8:00> 9:00、9:00> 10:00 ...午前8時から午後7時)は、mysql/phpの週刊カレンダーを生成します
質問:そのユーザーカレンダーを生成するための最良の方法:
オプション1:純粋なSQL それは可能かどうかわかりませんが、それは最高のエレガントさを見つけるでしょう:mysqlが7列(日) 11行(タイムスロット)に分割され、各タイムスロットに対してサブクエリがあり、そのタイムスロット/ユーザに対してミーティングが予約されているかどうかがチェックされます。
オプション2:php/mysql mysqlはbooked/userの会議を検索して、PHPで生成されたカレンダーでそれを渡します。
オプション1はすべて可能ですか?そうであれば、それはリソース集約型ですか?
は、 アレクサンドル
UPDATEありがとう:ここにクエリ候補
を私が予約したイベント(:ユーザーが教師である。この場合のレッスン)を取得するために使用する「オプション2」クエリです。
SELECT DISTINCT date, hour_from, hour_to, courses.description, courses.alias, teachers.name, locations.new_acronym
FROM timetables
INNER JOIN courses ON (courses.id=timetables.course_id)
INNER JOIN teachers ON (teachers.id=timetables.prof_id)
INNER JOIN locations ON (locations.id=timetables.location_id)
WHERE ((timetables.prof_id='$id')
AND (timetables.date >= '$starting_date')
AND (timetables.date < date_add('$starting_date', INTERVAL 7 day))) ;
オプション1を有効にするクエリについては、非常に興味があります。
クエリのsuggetionsが必要な場合は、descテーブルを追加し、i(私たち)が投稿します。 –
はそれに応じて質問を更新しました。ありがとうございました。 – pixeline