Php 使用HTML日期范围表单数据在MySQL查询中选择日期范围
感谢您查看此问题。我实现了一个jquery/html日期选择器表单,允许用户选择开始日期和结束日期。此表单的HTML为:Php 使用HTML日期范围表单数据在MySQL查询中选择日期范围,php,html,mysql,ajax,datepicker,Php,Html,Mysql,Ajax,Datepicker,感谢您查看此问题。我实现了一个jquery/html日期选择器表单,允许用户选择开始日期和结束日期。此表单的HTML为: <form id="MyForm"> <input type="text" class = "datepicker" name = "StartDate" id="StartDate" placeholder = "Start Date" style = "width : 85px; margin-left: 10px
<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>
我想根据日期范围表单输入将此查询转换为如下内容:
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';
选择项目、参与者、卷轴、机器、qc\u gsr、qc\u hr、qc\u acz、qc\u bre
从rtcdb.session
其中下载日期>=“$start\u date”
下载_date我正在构建一个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;
$where=array();
如果((isset($_请求['site'])和(!empty($_请求['site']))
{
$where[]=“site=”.mysql\u real\u escape\u字符串(urldecode($\u REQUEST['site']))。“”;
}
如果((设置($请求['开始日期])&(!空($请求['开始日期]))
{
$where[]=“下载日期>=”.mysql\u real\u转义字符串(urldecode($\u请求['start\u date']))。“”;
}
如果((isset($请求['end\u date'])和(!empty($请求['end\u date']))
{
$where[]=“下载日期警告:并以与MySQL表中日期格式相同的格式存储输入的日期
,但如果我手动键入,则不会!看起来您的方向正确。if(isset($\u REQUEST['start\u date')){//check valid and add to SQL}
和结束日期也一样,所以你可以一次完成从、直到和之间的任务。你无法手动键入日期,因为用户只能从弹出式日历中选择日期。请查看JQuery UI datepicker budOk,但我首先要如何达到这一点?完成和完成并手动键入345454/454//3453452
$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;