Php 如何在当前MySQL查询中添加日期范围查询?

Php 如何在当前MySQL查询中添加日期范围查询?,php,mysql,Php,Mysql,我有一个问题,如何在MySQL查询中添加日期范围的查询。仅生成日期 我的问题是: SELECT TS.id AS TSid, employeeid, `date` AS date_d, TS.TI1 AS TI1, TS.TO1 AS TO1, CONCAT(E.lastName,', ',E.firstName,' ',E.middleInitial,'.') AS 'fullname',

我有一个问题,如何在MySQL查询中添加日期范围的查询。仅生成日期

我的问题是:

SELECT TS.id AS TSid, employeeid, `date` AS date_d, TS.TI1 AS TI1, TS.TO1 AS TO1,
                            CONCAT(E.lastName,', ',E.firstName,' ',E.middleInitial,'.') AS 'fullname',

                            (TIME_TO_SEC(CAST(TS.`TI1` AS time))/3600) AS 'timeinint',                  
                            (TIME_TO_SEC(CAST(TS.`TO1` AS time))/3600) AS 'timeoutint',
                            E.startDate, C.companyName, B.branchName,
                            R.mon, R.tue, R.wed, R.thu, R.fri, R.sat, R.sun
                    FROM timeschedule AS TS
                    LEFT JOIN  employee AS E ON TS.employeeid = E.id
                    LEFT JOIN  company AS C ON E.companyid = C.id
                    LEFT JOIN  branch AS B ON E.branchid = B.id
                    LEFT JOIN restday AS R ON R.id = E.restDayid
                    WHERE TS.`show` = '1'  
                    ORDER BY employeeid ASC
以下是我获取输入的方式:

$mfrom = $this->input->get('mfroma');  //From: Month
$yfrom = $this->input->get('yfroma');  //From: Year
$yto = $this->input->get('ytoa');      //To : Year

通过指定的字段(从月份、年份到年份),可以将这些条件添加到
WHERE
子句中。在本例中,我将使用
E.startDate
字段:

$sql = "-- your query here...
    WHERE
        TS.`show` = '1'
        AND MONTH(E.startDate) >= " . $mfrom . "
        AND YEAR(E.startDate) BETWEEN " . $yfrom . " AND " . $yto . "
    ORDER BY employeeid ASC";
文档: - -


注意:PHP解析双引号内的变量,但我个人更喜欢将PHP变量保留在双引号外。

在WHERE中。其中TS.show=1,日期介于一个日期和另一个日期之间。要显示的日期范围是什么?月份和年份是唯一的日期筛选器吗?我会想,相当宽泛的术语…@scrowler:是的,只有月份和年份过滤器