Where子句中的日期

时间:2015-10-04 02:58:42

标签: php mysql

我有一张表,其中D_Number对应于当年的日期编号。

Date       D_Number     Schedule
9/24/2015   267            3T
10/15/2015  288            2R
11/5/2015   309            PR

我有以下查询。

$day_num=date("z")+1;

$query_Recordset2 = "SELECT * FROM b_schedule_dates WHERE      
b_schedule_dates.D_Number = $day_num";

基本上,如果今天是2015年10月15日或第267天,则应遵循的时间表是3T。

我有第二个查询正在查找要回显的计划。

$day= date('w');
$day_num=date("z")+1;
$sched=$row_Recordset2['Schedule'];
$d_number=$row_Recordset2['D_Number'];

if($day_num === $d_number){
    $s=$sched;

}else {
    $s="2R";
}

if (isset($s)) {
    $colname_Recordset1 = $s;
}

$query_Recordset1 = sprintf("SELECT * FROM b_schedule WHERE b_schedule.Schedule =%s"

我做错了什么?它似乎无法识别第一个查询的$ day_num。如果日期发生,我只希望它遵循相应的时间表,每个日期都有自己独特的时间表。如果不是,它只需要遵循时间表2R。 b_schedule根据日程安排,具有不同的开始和结束时间表。

Start     End      Schedule
8:00:00   9:30:00     3T
8:00:00   10:30:00    2R
8:00:00    2:30:00    PR

1 个答案:

答案 0 :(得分:0)

您需要围绕该值引用,因为它是一个字符串:

time

但是你可以将两个查询与一个连接组合起来,并且还可以使用MySQL的日期函数。

$query_Recordset1 = sprintf("SELECT * FROM b_schedule WHERE b_schedule.Schedule = '%s'", $s);