0

会議室を予約する必要があります 開始日と終了日は、ユーザーがデータを入力するたびに mysql の日付 + 時間型であり、値は 2013-10-03 14:30:00 から 2013-10-03 16:30 の形式で保存されます:00 (開始日と終了日両方) とその部屋番号 (例: 2) も格納されます。

ここで、ユーザーが再び新しいエントリを作成したとします。

1)same time and and same booking room ( start_date : 2013-10-03 14:30:00 to end_date: 2013-10-03 16:30:00)
2)different time and same booking room (start_date:2013-10-03 13:30:00 to end_date: 2013-10-03 15:30:00)
3)different time and same booking room (start_date:2013-10-03 15:30:00 to end_date: 2013-10-03 18:30:00)

上記のすべての場合において、この時間はすでに予約されているため、利用できないとエラーになるはずです。

私が今までやったことは:

SELECT  * FROM    calendar WHERE `Room_no`='2' and (StartTime BETWEEN $start_date AND '$start_date' OR EndTime BETWEEN $start_date AND $end_date)

前もって感謝します。私はphpとmysqlが初めてなので、間違いがあれば教えてください。

4

1 に答える 1

0

最初は、正確な問題が何であるかを知ることは非常に困難です。

以下のクエリを見てください。同じ変数名 $start_date と '$start_date' の間でクエリ間を使用しています。

SELECT * FROM calendar WHERE Room_no='2'
AND (StartTime BETWEEN $start_date AND '$start_date' ) OR (EndTime BETWEEN $start_date AND $end_date)

あなたは間違ったSQLを持っていると思います。

于 2013-10-07T07:24:00.633 に答える