0

感谢您查看此问题。我已经实现了一个 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 以动态方式执行此操作。请记住,此页面已经收到一个单独字段(项目)身份的请求。我的意思是页面的 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 查询以根据日期范围进行选择。谢谢你的帮助!

4

1 回答 1

0

我正在构建一个 SQL 供贬值的 mysql_* 函数使用,以仅显示含义:

$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;

您也可以准备声明,但我这样解释更快。
没有根据评论进行验证

于 2013-06-26T15:46:40.930 回答