订单结果与数据库中的日期,不显示它应该是

时间:2014-11-26 22:17:02

标签: php database date mysqli

好的,我已经在网上到处搜索这个,我找不到它,所以我在这里问我的问题。

首先我向您展示我的代码:

if ($result = $mysqli->query("SELECT * FROM jarig
                              WHERE maand = 'April'
                              ORDER BY datum"))
                         {
                           if ($result->num_rows > 0)
                         {                                                                               
                           while ($row = $result->fetch_object()){
                           $date = new DateTime($row->datum);                                                   
                           echo "'" . $date->format('d') . "  " . $row->naam;
                           echo "<br />";                                               
                         }
                         }
                         }

我的问题:

如你所见,我有一行包含一年中几个月的名字,因此我不需要制作更多的桌子并且易于显示,因为我可以按月分开订购。我也与生日有一排。

生日(在桌子上命名为DATUM)在我的桌子上是'DATE'类型(我希望我说对了)。

示例该行中的日期如下:

----------
  DATUM
----------
1991-04-07
1978-04-12
2001-04-24

它们是随机填写的,包含我在数据库中存储生日的所有日期。

我喜欢在我的网站上看到的输出与我想要的有点不同。结果仅显示为天,因为它直接位于表格单元格中,它们属于html:

Calendar Month: April
'12 Jan
'07 kees
'24 Frans

我的问题:

这发生在我拥有的所有日期,但我希望看到它们从正确顺序的月份中的第一个日期到月份的最后一个日期显示,而不是随机显示。就像我上面给你看的那样。喜欢按此顺序查看它们,从最低到最高数字(07,12,24)。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

也许尝试更改您的查询:

SELECT jarig.*, DATE_FORMAT(jarig.datum, '%d') AS day FROM jarig
WHERE maand = 'April'
ORDER BY day

您真正需要的只是日期的日期,而不是日期本身。因此,您可以按日而不是日期订购。

然后在你的php中,只需使用day列:

echo "'" . $row->day . "&nbsp;&nbsp;" . $row->naam;
echo "<br />";