我已经成功创建了我想要的页面,但是,我已经尝试了所有教程,但没有工作
我希望它们显示为同一日期的组日期:
角色 - -----姓名 - ---日期
2018年5月20日
卡车------大卫------- 2018-05-20:56:09
服务 - 凯文------- 2018-05-21:55:54
食物-------山姆------- 2018-05-21:55:35
2018年5月20日
驾驶----艾哈迈德------ 2018-05-21:55:35
别介意“-----”
所以这就是我所做的 Screenshot
我的代码是
<?php
while($r = mysqli_fetch_assoc($res)){
$group_date = null;
if ($group_date !== substr($r["date"], 0, 10))
$group_date = substr($r["date"], 0, 10);
>
<tr><td><p><?= $group_date ?></p></td></tr>
<tr>
<td><?php echo $r['role'];?></td>
<td><?php echo $r['name']; ?></td>
<td><?php echo $r['date']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
我的选择陈述是
SELECT * FROM `users` GROUP BY date DESC
答案 0 :(得分:0)
这绝对不是那里最漂亮的解决方案,但它会做到这一点。
基本上,它会做什么,它检查当前项目的日期是否与$group_date
中存储的日期不同。如果是这样,它会将日期作为下一列的标题输出,并将其存储回$group_date
。
<?php
$group_date = null;
while ($r = mysqli_fetch_assoc($res)) {
$date = substr($r["date"], 0, 10);
if ($group_date !== $date) {
$group_date = $date;
echo '<tr><td colspan="3"><p>' . $date . '</p></td></tr>';
}
echo <<<ROW
<tr>
<td>{$r['role']}</td>
<td>{$r['name']}</td>
<td>{$r['date']}</td>
</tr>
ROW;
}
?>
</tbody>
</table>