首先我制作了一个简单的留言簿,现在我希望最后的评论出现在网站的第一个位置。我的计划是按日期或ID按降序对数据库中的行进行排序。这是代码片段:
mysql_query("SELECT * FROM `guestbook` ORDER BY `Date` DESC") or die("Mysql error: " . mysql_error());
此代码不会导致任何错误,但注释会首次显示。
我也从phpMyAdmin复制了代码,但结果是一样的。
ID的类型当然是INT auto_increment
,而Date的类型是VARCHAR
(我已将日期和时间存储在一个变量中)。
请帮忙。
答案 0 :(得分:1)
我希望您知道有一个完全可用的DATETIME
字段,甚至是TIMESTAMP
,它会返回格式化日期?
除此之外,几乎可以肯定的是,你的日期除了big-endian之外还有格式。
请尝试使用ORDER BY id DESC
- 它会更快,因为它是唯一的(最好是主要的)密钥。
答案 1 :(得分:1)
将Date
列更改为DATETIME
列类型,它将正确排序。
VARCHAR
上的排序取决于您存储数据的格式。
答案 2 :(得分:1)
试试这个:
SELECT * FROM guestbook
ORDER BY ID
DESC
而不是您的日期,如果您希望正确的日期顺序,请确保您的日期数据类型是日期时间。
最好的问候