gpt4 book ai didi

php - 按日期排序 DESC d-m-Y

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:38 24 4
gpt4 key购买 nike

编辑.csv excel 文件中日期的格式为 15-12-2011,而在 MySQL phpmyadmin 数据库中,列类型设置为 DATE,因此如果我导入文件,日期列中的所有数据都更改为 0000-00-00。我做了下一步来解决这个问题,进入 .csv 文件并选择日期列并将格式更改为“非洲”,这样它就会将所有内容从 d-m-Y 更改为 Y-m-d。所以在 .csv 中它将变为 2011-12-15 而不是 15-12-2011。再次导入后,日期已正确导入,没有变成 0000-00-00。

之后我更改了 index.php 中的 ORDER BY:

$query = mysql_query("SELECT * FROM `newitems` ORDER BY startVisible DESC LIMIT $start, $per_page");

之后我在需要的地方更改了格式日期。

Available from: <?php 
$timestamp = strtotime($query_row["startVisible"]);
echo date("d-m-Y", $timestamp);
?>

这些脚本首先会按 1.year 2.month 3.day 更改顺序,然后更改格式,因此它会回显 15-12-2011 而不是 2011-12-15(它是如何保存在数据库中的)

希望这能帮助其他遇到同样问题的人。

干杯。

下面 = 我问的问题

我导出了一个表,修改了一些需要修改的东西。接下来,我再次尝试将它们导入表中,但 startVisible 列类型设置为最新。我所有的日期都存储为 0000-00-00。我在 csv 文件中的所有日期都像 15-12-2011。我已将列类型更改为 varchar,之后我可以导入包含 15-12-2011 的所有内容的 csv 文件我想在 www.domain.com/index.php 中按日期对所有内容进行排序。那是因为列类型未设置为 DATE。所以我再次将列类型从 VARCHAR 更改为 DATE,所有日期都更改为 0000-00-00。所以无论我做什么,一切都变成了 0000-00-00。我删除了所有内容并导入了相同的文件和正确导入的所有日期。所以它可能是 MySQL 加载失败或其他原因。

我用过:

$query = mysql_query("SELECT * FROM newItems ORDER BY startVisible DESC LIMIT $start, $per_page");

但是现在所有的日期都是混合的。它必须通过 d-m-Y 将它们做空,但不会那样做。

9-8-2011
9-3-2011
8-3-2011
7-6-2011
7-3-2011
7-11-2011
6-7-2011

现在所有内容都已正确排序,但我想将其显示的顺序从 2011-12-15 更改为 15-12-2011。 (我的意思是在网站上而不是在 MySQL 中)。在 index.php 中,我想将所有内容显示为 d-m-Y,但我仍然想正确排序(ORDER BY)它们。如何做到这一点?

谢谢,
F4LLCON

最佳答案

这是因为查询现在按 varchar 列排序,所以它按字母顺序排序,所以先尝试将其转换为日期:

select DATE_FORMAT(STR_TO_DATE(startVisible, '%d-%m-%Y'), '%d-%m-%Y') as startDate,... 
from newItems
ORDER BY startDate DESC LIMIT $start, $per_page;

关于php - 按日期排序 DESC d-m-Y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518362/

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