我有一个Sql Query来从我的表中获取所有信息。
我使用foreach创建了一个列表。
我想按最后更新的行排序此列表。
喜欢这个
$query - "SELECT * FROM table ORDER BY last_updated_row";
//call Query here
当我更新某一行时,我想把这一行放在列表顶部
我听说过time_stamp,我可以使用time_stamp吗?
我该怎么做?
由于
答案 0 :(得分:1)
假设您使用MySQL,您的表需要像这样
CREATE TABLE table (
last_updated_row TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
这将为该行提供一个创建时间戳,并在影响该行的每个更新语句上更新它
http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html
答案 1 :(得分:0)
如果需要,您可以使用表中的任何日期/日期时间/时间戳列进行排序。唯一的问题是你需要在表格中拥有它。
以上任何一种都允许按升序/降序排序,但在插入/更新行时需要保留。
假设您有以下结构:
table - someTable
id someVale updateTime
1 54634 ......
2 65138 ......
3 94141 ......
4 84351 ......
updateTime
列的类型无关紧要 - 无论是日期,日期时间,时间戳,简单的order by updateTime
都可以使用。
但是您需要确保对该行进行的每次插入/更新都会更新列,以便排序为真。