我被卡住了,我猜这是一个循环问题,有人可以帮助我并告诉我我做错了什么吗?这就是我所拥有的:
$this->time = mktime(7,0,0,$this->date);
for($i=1;$i<56;$i++) {
echo '<tr><td>' . date('H:i', $this->time) . '</td>';
while($this->results = $this->sql->fetch(PDO::FETCH_ASSOC)){
if (date('H:i:s', $this->time) != $this->results['time']) {
$this->agenda = '<td>' . $this->results['name'] . '</td></tr>';
} else {
$this->agenda = '<td>This Hour is free</td></tr>';
}
echo $this->agenda;
}
$this->time += 900;
}
我想要做和得到的是: 使用 24 小时格式显示从早上 7 点到晚上 8:30 的时间范围,而且时间应该每 15 分钟分割一次,这就是为什么我在 900 上增加了 for 循环。 在与数据库匹配的时间上,显示该人的姓名,否则显示此时间是免费的。
但是我在表格和循环/ block 顺序方面遇到了问题 感谢并赞赏它
最佳答案
我希望这可能有用 - 它使用 DateTime
、DateTimeZone
和 DateInterval
类,但不合并您的代码来检查数据库结果 - 这应该相当简单。
<?php
define('BR','<br />');
$df='H:i';
$timezone=new DateTimeZone('Europe/London');
$interval=new DateInterval('PT15M');
$ts=date( 'Y-m-d H:i:s', strtotime('6.45am') );
$tf=date( 'Y-m-d H:i:s', strtotime('8.30pm') );
$start=new DateTime( $ts, $timezone );
$end=new DateTime( $tf, $timezone );
while( $start->add( $interval ) <= $end ){
echo $start->format( $df ) . BR;
}
$timezone=$interval=$ts=$tf=$start=$end=null;
?>
关于php - 循环获取议程和白天时间并填充数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34405293/