好吧,讓我們說我有一個下表:循環邏輯PHP出了錯
CREATE TABLE booking (
idBooking INTEGER PRIMARY KEY,
bookingDate DATE,
roomId INTEGER,
startHour TIME,
endHour TIME
);
和表有3個記錄: enter image description here
我與框架笨的工作,這是我的觀點:
<table border="1">
<thead>
<tr>
<th>Start Hour</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php
$open_time = "07:00:00";
$close_time = "15:00:00";
for($i=$open_time; $i<$close_time; $i+=3600) { ?>
<tr>
<td >
<?php $timeloop = date('H:i:s', $i); echo $timeloop; ?> </h1>
</td>
<td>
<?php
$count = count($bookingList);
for ($j=0; $j < $count ; $j++) {
$endtime1 = strtotime($timeloop)+3600;
$endtime2 = date('H:i:s', $endtime1);
if ($bookingList[$j]->startHour == $timeloop ||$bookingList[$j]->endHour == $endtime2) {
?> <span>Booked </span> <?php
}
else { ?> <span> Available</span>
<?php
}
} ?>
</td>
</tr>
<?php } ?>
</tbody>
因此,我想根據預訂表顯示可用的小時數,這意味着表中沒有記錄。 這裏是我的期望:
07:00:00可用 08:00:00預訂 09:00:00預訂 10:00:00可用 11:00:00可用 12:00: 00預訂 13:00:00可用 14:00:00可用 15:00:00可用
但是,什麼是錯的與循環,我不知道如何定義的邏輯,這是真的工作罰款當表只有1條記錄, 但是,當我插入另一條記錄,出事了,這裏發生了什麼事
07:00:00可用可用可用 08:00:00預訂可用可用 09:00:00可預訂可用 10: 00:00可用可用空房 11:00:00可用空房 12:00:00可預訂空房預訂 13:00:00空房可用 14:00:00空房可用空房 15:00:00有空可用
您的快速響應是高度讚賞,我一直堅持這幾天:(
你們是不是要加上'(INT)3600'爲'(串)07:00:00'導致不打算在所有的工作。 .. – prodigitalson
這不是如何循環在PHP中工作。正如@prodigitalson所提到的,你不能將一個int添加到一個字符串,並期望循環正常工作。你應該在提問IMHO之前先閱讀php文檔。 – Gogol
你們是否想念我的觀點?問題不是這個部分,請重新閱讀我的問題fellas –