我有数据库和#34; 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是2014-07-15 08:00:00 am,所以display_time插入是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
答案 0 :(得分:0)
我认为没有使用am或pm。由于当前日期是24小时时间格式,因此删除额外的上午/下午
$current_date=date("Y-m-d H:i:s");
只需使用这个。
答案 1 :(得分:0)
event_start
field.Row id或其他东西中存储的内容。检查你的升序模式。
答案 2 :(得分:0)
试试这个。
$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");
根据您传递的日期格式投射列