ユーザーにカレンダーを表示するPHPページがあり、割り当てられるプロジェクトに一致する開始期間と終了期間を選択できます。
しかし、選択した期間にユーザーを割り当てる前に、既に割り当てられている場合はデータベースを調べる必要があります。
一部のプロジェクトのリソースの割り当てデータを格納するテーブルがあります。以下の表とコードをご覧ください。
SELECT * FROM ALLOCATION
WHERE dt_starting >= STR_TO_DATE('2013-09-02', '%Y-%m-%d')
AND dt_ending <= STR_TO_DATE('2013-09-06', '%Y-%m-%d')
AND id_res = 1;
id_alloc id_pro id_res dt_starting dt_ending
----------
1 1 1 2013-09-02 2013-09-06
2 2 1 2013-09-03 2013-09-04
----------
ただし、2013-09-05 から 2013-09-05 まで、または 2013-08-31 から 2013-09-03 までの日付期間を使用して検索しようとすると、すべてのフィールドで null が返されます。
申し訳ありませんが、評判ポイントがあまりないため、ここに画像を掲載できません。
確かに論理的な問題ですが、頭がおかしくなりそうです。