gpt4 book ai didi

php - MySQL 按日期排序不能正常工作

转载 作者:行者123 更新时间:2023-11-29 05:04:05 25 4
gpt4 key购买 nike

我有这样的 php 代码:

<?php
session_start();
include("../Php/ConfigBaza.php");

$kid = $_SESSION['KORISNIKID'];

$sql = "SELECT REZERVACIJAID, DATE_FORMAT(DATUM, '%d.%m.%y') AS DATUM,
STATUS, VREDNOST
FROM REZERVACIJE
WHERE KORISNIKID = '$kid'
ORDER BY DATUM DESC";
$result = $mysqli->query($sql);

if($result->num_rows < 1) {
echo("Nemate ni jednu rezervaciju!");
die();
} else {
echo("<style>");
include('../Styles/_Rezervacije.css');
echo("</style>");
while($r = mysqli_fetch_assoc($result)) {
$realizovana = "";
$rid = $r['REZERVACIJAID'];
$h_rid = hash('fnv1a32', $rid);
$datum = $r['DATUM'];
$status = $r['STATUS'];
$v = $r['VREDNOST'];

$v_txt = number_format($v, 2);

if($status == 2) {
$realizovana = "realizovana";
} else if($status == 0) {
$realizovana = "neaktivna";
}
echo("
<div class='rezervacija $realizovana' id='$rid' onclick='IdiNaRezervaciju(this.id)'>
<p style='font-weight: bolder; font-size: large'>$h_rid</p>
<br>
<p style='font-size: large'>$v_txt</p>
<p style='font-weight: bolder'>$datum</p>
</div>
");
}
}
?>

正如您在查询中看到的那样,我按日期订购,但出于某种原因,它通常会持续几天而不是几个月。

我得到的结果是:

enter image description here

在mysql数据库中我的日期列是日期类型

enter image description here

最佳答案

正如@RiggsFolly 在他的评论中出色地提到的那样,问题在于您正在重新格式化用于对记录进行排序的日期列。

当您重新格式化日期列时,MySQL 将不再将其作为日期字段读取,而是作为文本读取,并且作为文本,04.08.18 低于 31.08.18 这就是您获得当前订单的原因。

解决方案只是将日期列重新格式化为另一个名称:

DATE_FORMAT(DATUM, '%d.%m.%y') AS SOME_DATE,

您当然可以将 SOME_DATE 更改为任何您想要的。然后在您的代码中,您使用 $r['SOME_DATE']; 获取它。

这是一个演示差异的 fiddle :http://sqlfiddle.com/#!9/0d2e5f/1

关于php - MySQL 按日期排序不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52164929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com