簡體   English   中英

使用HTML日期范圍表單數據在MySQL查詢中選擇日期范圍

[英]Use HTML daterange form data to select for a date range in MySQL query

感謝您查看此問題。 我已經實現了jquery / html datepicker表單,該表單允許用戶選擇開始日期和結束日期。 此表單的HTML是:

        <form id="MyForm">
            <input type="text" class = "datepicker" name = "StartDate" id="StartDate" placeholder = "Start Date" style = "width : 85px; margin-left: 10px; margin-top: 1mm;"/>
            <br />
            <input type="text" class = "datepicker" name = "EndDate" id="EndDate" placeholder = "End Date" style = "width : 85px; margin-left: 10px;"/>
            <br />
            <input type = "submit" name = "submit" value = "Go" style = "font-weight: bold; margin-left: 10px;"/>
        </form>

jQuery非常簡單,它以與我查詢的MySQL表中的日期格式相同的格式存儲輸入的日期。

我想在此網頁中創建一個系統,該系統允許用戶動態更改所選日期范圍內顯示的結果。 理想情況下,我想使用AJAX以動態方式進行此操作。 請記住,此頁面已經收到有關單獨字段(項目)身份的REQUEST。 我的意思是,頁面的URL類似於~~~~ .php?project = LOW003,其中LOW003是會話變量$ project。 日期范圍表單應將下面的查詢更改為根據輸入的日期范圍選擇的查詢:

      SELECT project, participant, reel, machine, qc_gsr, qc_hr, qc_acz, qc_bre 
          FROM rtcdb.session 
          WHERE site = 'ORL001';

我想根據日期范圍形式的輸入將此查詢轉換為:

     SELECT project, participant, reel, machine, qc_gsr, qc_hr, qc_acz, qc_bre 
         FROM rtcdb.session 
         WHERE download_date >= '$start_date' 
         AND download_date <= '$end_date';

綜上所述,我想使用AJAX和PHP從以yy-mm-dd格式存儲的HTML表單中獲取輸入變量,然后更改所有MySQL查詢以選擇日期范圍。 謝謝你的幫助!

我正在構建一個供折舊的mysql_ *函數使用的SQL,以僅顯示含義:

$where=array();
if( (isset($_REQUEST['site'])) && (!empty($_REQUEST['site'])) )
{
    $where[]="site='".mysql_real_escape_string(urldecode($_REQUEST['site']))."'";
}
if( (isset($_REQUEST['start_date'])) && (!empty($_REQUEST['start_date'])) )
{
    $where[]="download_date>='".mysql_real_escape_string(urldecode($_REQUEST['start_date']))."'";
}
if( (isset($_REQUEST['end_date'])) && (!empty($_REQUEST['end_date'])) )
{
    $where[]="download_date<='".mysql_real_escape_string(urldecode($_REQUEST['end_date']))."'";
}

$sql="SELECT project, participant, reel, machine, qc_gsr, qc_hr, qc_acz, qc_bre 
FROM rtcdb.session";
if(sizeof($where)>0)
{
    $sql.=" WHERE ".implode(" AND ", $where);
}

echo $sql;

您也可以准備該語句,但是對我來說,這樣解釋起來更快。
沒有根據評論進行驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM