标题:php的sql语句中比较时间出现的问题
只看楼主
nmm2014
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-3-8
 问题点数:0 回复次数:1 
php的sql语句中比较时间出现的问题
功能实现为预约机房的位子,代码如下:
    $time1=date('H:i:s',$_POST['time1']);
    $time2=date('H:i:s',$_POST['time2']);

      $sql2="select * from yy where ((st<='".$time2."' and et>='".$time2."') or (st<='".$time1."' and et>='".$time1."')) and bhid='".$_GET['bhid']."' and dt='".$_GET['d']."'";
      $q2=mysql_query($sql2,$conn);
      if($r2=mysql_fetch_array($q2)){
        echo "<script>alert('您选择的预约时间段已有预约,请查询后重新预约!');window.location.href='yy_add.php?yqid=".$_GET['yqid']."&d=".$_GET['d']."'</script>";
        exit();
      }

其中: $time1和$time2为用户添加的开始时间与结束时间,$sql2语句为查询某一天的某个编号的位子在某个时间段是否被预定,字段st与et分别是预约表中的“开始时间”与“结束时间”,不知道我的语句哪里有错,试改了N次,好像就是不识别sql语句中的这个时间的比较,求高手们帮帮我,郁闷死了。。。感激不尽!
搜索更多相关主题的帖子: sql语句 时间段 where 
2014-03-16 22:53
asmdaydream
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:中原
等 级:版主
威 望:13
帖 子:257
专家分:840
注 册:2009-5-10
得分:0 
推荐在查询的时候,先用date函数格式化时间再比较,如果要求比较精确可以用UNIX_TIMESTAMP来格式化时间再比较
select mytime from table where UNIX_TIMESTAMP(time1)>UNIX_TIMESTAMP(now())

常走夜路不怕黑 长沙PHP高薪招聘群6K+ 95926136
2014-04-01 15:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-428618-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.569835 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved