予約Webサイトの利用可能時間を取得したいと思います。私のMySQLのテーブルには、(例で)このように見ている:PHPはデータベースに存在しない値を取得します
id(AI,PK),
date(2016-06-21),
start_time(14:00:00),
end_time(14:30:00),
working(20:00:00),
provider(aaa).
私はstart_time
とend_time
の間で利用可能な時間をエコーします。私はそれを達成する:
$sql = "SELECT * FROM `appo` WHERE date = '2016-06-17'";
$result_set = mysql_query($sql);
while($row = mysql_fetch_array($result_set)) {
for($echodate = 11; $echodate.':00:00' < $row['working']; $echodate++) {
if($row['start_time'] > $echodate.':00:00' && $row['end_time'] > $echodate.':30:00' || $row['start_time'] < $echodate.':00:00' && $row['end_time'] < $echodate.':30:00') {
echo $echodate.':00<br>';
echo $echodate.':15<br>';
echo $echodate.':30<br>';
echo $echodate.':45<br>';
}
}
echo '<br>';
}
}
これは素晴らしいです!しかし、私の問題は次のようなものです。データベース上に複数のレジストリがあると、異なる行の時刻を返します。
その日に2つの予定があるとします。 1つは14:00に終了し、14:30に終了し、16:00に1つは16:30に終了する。
私のスクリプトはこれをエコーします:
11:00
11:15
11:30
11:45
12:00
12:15
12:30
12:45
13:00
13:15
13:30
13:45
15:00
15:15
15:30
15:45
16:00
16:15
16:30
16:45
17:00
17:15
17:30
17:45
18:00
18:15
18:30
18:45
19:00
19:15
19:30
19:45
11:00
11:15
11:30
11:45
12:00
12:15
12:30
12:45
13:00
13:15
13:30
13:45
14:00
14:15
14:30
14:45
15:00
15:15
15:30
15:45
17:00
17:15
17:30
17:45
18:00
18:15
18:30
18:45
19:00
19:15
19:30
19:45
は今、ここで問題です。私はそれらを合計し、1つの列だけを表示したい。私はSQLクエリではあまり良くありません。それを行うための方法(PHPまたはSQL)があるなら、私はそれを聞いて嬉しいです!
ありがとうございました。
データベースエントリの1つの例を挙げてください。どのようにDBに保存されますか? –
ID = 1 日= 2016年6月17日 のstart_time = 14時〇〇分00秒 END_TIME =午前14時30分00秒 作業=午後08時00分00秒 プロバイダは= AAA –