好的,我试图按日期和时间升序排列结果,但到目前为止这还不起作用:(
$kalendarquery = mysqli_query($con, "SELECT
people.firstname,
people.lastname,
people.id,
people.avatar,
dates.date,
dates.time,
dates.timezonedate
FROM people
INNER JOIN dates ON
people.id=dates.invited_id
WHERE dates.inviter_id='$user_id' AND status='1'
ORDER BY STR_TO_DATE(CONCAT(dates.date,' ',dates.time), '%d/%m/%y %h:%m') ASC
LIMIT 50");
我的意思是,它不会在最低日期前订购到最大的
STR_TO_DATE
的第二个参数必须与char字段中的日期格式匹配;否则,转换只会为每一行返回NULL
,这就是为什么它没有被排序的原因。
因此,由于您的日期格式类似于27.03.2015
,使用.
作为delimeter,因此您需要确保在该参数中使用.
而不是/
。
同样,小写%y
表示2位数的年份,所以您需要%Y
,因为您使用的是4位数:
ORDER BY STR_TO_DATE(CONCAT(dates.date,' ',dates.time), '%d.%m.%Y %h:%i') ASC
您没有给出时间格式的示例,但您可以通过阅读date_format()的文档来了解如何正确执行时间格式。但请注意,我在时间部分将%m
更改为%i
:您在月和分钟内都使用%m
,这显然是错误的。