したがって、ユーザー テーブルと予定テーブルの 2 つのテーブルがあります。私ができるようにしたいのは、データベースから存在しない時間を取得することです。
意味をなさない可能性があるため、いくつかの例を示します。以下に 2 つのテーブルを示します。
+-----------------+
| Users |
+-----------------+
| ID | Name |
+------+----------+
| 1 | Bill |
| 2 | John |
+------+----------+
+-------------------------------------------------------------------------+
| Appointments |
+----------+--------------------+-------------------+---------------------+
| UserID | DateTimeFrom | DateTimeTo | AppointmentName |
+----------+--------------------+-------------------+---------------------+
| 1 | 2012-06-16 10:00 | 2012-06-16 11:00 | Hair Cut |
| 1 | 2012-06-16 14:30 | 2012-06-16 16:00 | Work |
| 1 | 2012-06-16 19:00 | 2012-06-16 22:00 | Dinner and Drinks |
| 2 | 2012-06-16 07:00 | 2012-06-16 10:30 | Travelling |
| 2 | 2012-06-16 16:00 | 2012-06-16 16:30 | Dentist |
+----------+--------------------+-------------------+---------------------+
私が取り戻したいのは、空の時間または逆の時間です。たとえば、6 月 16 日にビルのためにそれを行っていた場合、私が返したいのは次のとおりです。
+--------------+------------+
| TimeFrom | TimeTo |
+--------------+------------+
| 00:00 | 10:00 |
| 11:00 | 14:30 |
| 16:00 | 19:00 |
| 22:00 | 23:59 |
+--------------+------------+
そして、6月16日に両方のユーザーに対してそれを行っていた場合、次のようになります。
+--------------+------------+
| TimeFrom | TimeTo |
+--------------+------------+
| 00:00 | 07:00 |
| 11:30 | 14:30 |
| 16:30 | 19:00 |
| 22:00 | 23:59 |
+--------------+------------+
またはそれにできるだけ近いもの。MySQLでそれを行う良い方法があるかどうか、またはPHPを使用して時間を逆に変換する必要があるかどうかはわかりません。
前もって感謝します。