我想用今天的日期和以后的日期用SQL查询列出数据库中的所有行。而且我还想用HTML中的DATE标题将它们分开,但每天只能保留一个日期。.希望您关注,我将在下面提供更多详细信息!
现在我的SQL查询看起来像这样:
SELECT * FROM hours h
JOIN projects p on h.projecthours_id = p.project_id
JOIN users u on p.project_owner = u.user_id
JOIN projects_status s ON p.project_group = s.status_id
WHERE h.hours_timeadded >= CURDATE()
GROUP BY p.project_id
ORDER BY h.hours_timeadded
现在的输出代码如下:
while( $row8 = $result8->fetch_assoc() ){
extract($row8);
echo $hours_timeadded;
echo '<a href=view_project.php?id='.$project_id.'>';
echo "<div class='results_container'>";
echo '<div class="results_id">
<div class="statusbox status_id">'.$project_id.'</div>
<object><a href="my_overview.php?id='.$user_id.'"><div class="statusbox status_owner">'.$user_firstname.' '.$user_lastname.'</div></a></object>
</div>
';
这就是HTML的外观,请注意,两次列出了2018-01-04的标题:
2018-01-01
1123 USERNAME PROJECTNAME
2018-01-02
1124 USERNAME PROJECTNAME
2018-01-04
1125 USERNAME PROJECTNAME
2018-01-04
1126 USERNAME PROJECTNAME
这就是我想要的样子:
2018-01-01
1123 USERNAME PROJECTNAME
2018-01-02
1124 USERNAME PROJECTNAME
2018-01-04
1125 USERNAME PROJECTNAME
1126 USERNAME PROJECTNAME
任何帮助或指导都将是一流的。预先感谢!
答案 0 :(得分:1)
基于获得的内容和所需的内容之间的差异,似乎您的SQL正在获取正确的数据。
显示代码中缺少什么-您需要验证是否已经显示日期,如果是,请跳过日期显示行。下面可能适用于此操作(如果不能,则应提供有关如何达到所需结果的想法)。
$timealreadyshown = "nothing yet";
while( $row8 = $result8->fetch_assoc() ){
extract($row8);
if ($timealreadyshown <> $hours_timeadded) {
echo $hours_timeadded;
$timealreadyshown = $hours_timeadded;
}