大家好,我从我的数据库生成每日报告,并在表格中显示。我的代码是:
<table class="table table-striped m-b-none" id="stats">
<thead>
<tr>
<th>Date</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<?php
try
{
if($_POST["submit"]{
$stmt = $DB_con->prepare("SELECT Date(time) AS date, COUNT(*) AS total FROM branches GROUP BY date;");
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row){
$date = $row['date'];
$count = $row['total'];
?>
<tr>
<td><?php echo $date; ?></td>
<td><?php echo $count; ?></td>
</tr>
<?php
}
}
$conn=null;
}catch(PDOException $e){
echo "error " . $e->getMessage();
}
?>
</tbody>
</table>
我得到的输出是:
但我不想只有我记录的那一天,我想要一整个月的那一天。我希望我的桌子像这样:
我怎么能这样做?
谢谢!
答案 0 :(得分:0)
您可以通过循环使用日期来实现此目的。使用日期作为增量。
<?php
// Start date
$date = '2009-12-06';
// End date
$end_date = '2020-12-31';
while (strtotime($date) <= strtotime($end_date)) {
echo "$date\n";
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
?>
这将打印您希望开始日期到结束日期的日期。
根据你的代码,我建议你创建一个像
这样的函数function increaseDate($date = null){
return $date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
并从循环内部调用它。阅读Php Date了解日期格式。