对PHP中同一天创建的所有行的数据库查询进行排序

时间:2010-10-26 12:46:59

标签: php mysql unix-timestamp

我正在开发一个处理许多公司文章的PHP应用程序。

现在我正在创建一个应该按日期订购文章的页面,即在某一天创建的所有文章都会显示相应的标题等等。

我已经使用Unix时间戳来保存MySql数据库中的日期,但我找不到只按日期排序日期的代码。我可以请一些帮助。

感谢名单

3 个答案:

答案 0 :(得分:1)

您可以使用mktime()来获取您想要用来存储条目的时间戳:

http://us.php.net/manual/en/function.mktime.php

$timestamp_for_my_birthday = mktime(0,0,0,10,16,1984);
$timestamp_for_the_next_day = mktime(0,0,0,10,17,1984);

if($time > $timestamp_for_my_birthday && $time < $timestamp_for_the_next_day){
    // Time is on my birthday
}

将其转换为MySQL查询:

$SQL = "SELECT * FROM dates WHERE date > $timestamp_for_my_birthday AND date < $timestamp_for_the_next_day;";

按日期排序我觉得它会像:

SELECT * FROM dates ORDER BY FROM_UNIXTIME(时间,'%M%d%Y');

答案 1 :(得分:1)

您可以按时间戳列排序,但如果您想要记录所属日期的字符串表示,则可以使用FROM_UNIXTIME(timestamp, 'format')函数获取日期的任何部分。

select FROM_UNIXTIME(timestampColumn, '%Y %m %d')

第二个参数中的格式值可以根据此处的表格进行调整: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

答案 2 :(得分:1)

你能做一个

吗?
SELECT DATE(FROM_UNIXTIME(my_field_name)) FROM table_x ORDER BY my_field_name