我目前有一个存储一些事件的表,它看起来像这样:
+----+---------+------------+
| ID | Name | date |
+----+---------+------------+
| 1 | Event1 | 2018-10-01 |
| 2 | Event2 | 2014-10-01 |
| 3 | Event3 | 2014-10-04 |
+----+---------+------------+
然后,对于每个日期,我将其显示在多个HTML表格中:
$current_date = null;
while ($donnees = $reponse->fetch()) {
$date = $formatter->format(date_create($donnees['date'])); //I translate the dateformat in french
if ($date != $current_date) {
$current_date = $date;
echo "<table class='table table-menu'>";
echo "<thead class='thead-light'><tr><th>{$current_date}</th></tr></thead>";
echo "<tbody>";
}
echo "<tr><td>" . $donnees["name"] . "</td></tr>";
}
echo "</tbody></table>";
它显示了这个(这是我所期望的): https://imgur.com/a/BHzoFjY(对不起,日期为法语)
现在,我想扩展我的桌子,以便可以在几天内发生一些事件:
+----+---------+----------------+--------------+
| ID | Name | date_start | date_end |
+----+---------+----------------+--------------+
| 1 | Event1 | 2018-10-01 | 2018-10-01 |
| 2 | Event2 | 2014-10-01 | 2018-10-05 |
| 3 | Event3 | 2014-10-03 | 2018-10-05 |
+----+---------+----------------+--------------+
目标是获得与以前大致相同的HTML表,例如:https://imgur.com/a/KuPyoqe
如果您想要一个真实的例子,可以访问以下网站:https://vide-greniers.org/01-Ain?_otid=home-list 它显示了法国任何地方的很多车库销售,我正尝试在小城市的活动中做同样的事情!
一种可能的解决方案是日历表,但我不知道它是如何工作的,并且,如果可能的话,我只想在一个表上工作(听起来更容易...)
非常感谢您的宝贵时间! :)
答案 0 :(得分:0)
我认为您只需要更改if
语句的逻辑即可。
$current_date = date("Y-m-d");
while ($donnees = $reponse->fetch()) {
$date_start = date_create($donnees['date_start']))
$date_end = date_create($donnees['date_end']);
if ($date_start <= $current_date && $date_end >= $current_date) {
echo "<table class='table table-menu'>";
echo "<thead class='thead-light'><tr><th>";
echo $formatter->format($current_date);
echo "</th></tr></thead><tbody>";
}
echo "<tr><td>" . $donnees["name"] . "</td></tr>";
echo "</tbody></table>";
$current_date = date("Y-m-d", strtotime("$current_date +1 day"));
}