我有数据库列"event_start",其中日期和时间插入在"Y-m-d H: I:s a"格式和"display_time",其中数据插入为"Y-m-d H: I:s a" +45分钟格式在创建事件。这些列类型是varchar(255)
在我的页面上,我显示数据从这个数据库与显示时间在升序模式。但是,如果两行中的日期相同,则不会先显示am,然后显示pm。
使用的代码如下:
<?
$current_date=date("Y-m-d H:i:s a");
$data=mysql_query("select * from table where display_time >'".$current_date."' order by event_start asc");
?>
现在,例如,如果有两个事件。
event1 = event_start is 2014-07-15 08:00:00 am,所以display_time get insert is 2014-07-15 08:45:00 am
event2 = event_start是2014-07-15 16:00:00 pm,所以display_time插入是2014-07-15 16:45:00 pm
在这种情况下,event1应该显示在event2之上,但它没有以这种方式获得。它先显示event2,然后显示event1
我在这里没有看到am或pm的任何用途。由于当前日期是24小时时间格式,请删除额外的am/pm$current_date=date("Y-m-d H:i:s");
event_start
字段中存储的内容。行号或其他东西。检查你的上升模式
试试这个
$current_date=date("Y-m-d H:i:s a");
$data=mysql_query("select * from table where CAST(display_time AS DATETIME) >'".$current_date."' order by event_start asc");
根据您传递的日期格式转换列