Php 如何以“提交”按钮触发的日期时间格式获取日期

Php 如何以“提交”按钮触发的日期时间格式获取日期,php,html,mysql,date,datetime,Php,Html,Mysql,Date,Datetime,我正在为我的系统创建每日报告。 我有一个输入类型的文本,单击该文本时,会出现一个日期选择器。单击提交按钮后,它将从数据库中获取日期。但此字段已存储datetime。如何从数据库中获取日期 这是我的密码: <input type="text" class="form-control" id="date" name="date" required autocomplete="off" title="Choose Date" > <input type="submit" name="

我正在为我的系统创建每日报告。 我有一个输入类型的文本,单击该文本时,会出现一个日期选择器。单击提交按钮后,它将从数据库中获取日期。但此字段已存储
datetime
。如何从数据库中获取
日期

这是我的密码:

<input type="text" class="form-control" id="date" name="date" required autocomplete="off" title="Choose Date" >
<input type="submit" name="submit" id="submit" value="Show Report">

 $query = mysql_query("SELECT * FROM tblpatientservices WHERE date_format(dateTimeStart,'%Y-%m-%d') = '$date' AND status='Done'");

$query=mysql\u query(“从TBLPartientServices中选择*其中日期格式(dateTimeStart,%Y-%m-%d')='$date'和状态为'Done'”;

请尝试以下代码


$query=mysql\u query(“从tblpatientservices中选择*,其中dateTimeStart='$date'和status='Done'”)首先确保数据库中存储的日期格式与日期选择器的日期格式匹配

然后,像这样重写您的查询

$query = mysql_query("SELECT * FROM tblpatientservices WHERE dateTimeStart = '$date' AND status='Done'");
然后,您可以将任一值回显到页面
$date
或查询检索到的值

注意:如果数据库字段是
datetime
,则它存储的数据类似于
2015-09-12 00:00:00
,它们可能不匹配。日期选择器只需发送
2015-09-12

再一次,请帮自己一个忙,然后转换成
pdo_mydql
你会很高兴你以后这么做的
mysql
已被弃用,您的数据库极易受到sql注入攻击

mysql
将很快停止受支持,您的代码将完全停止运行

快乐编码

参考

使用mysql
date()
函数获取日期

$query = mysql_query("SELECT * FROM tblpatientservices WHERE date(dateTimeStart) = date('$date') AND status='Done'");

使用下面的查询重新显示您的查询这可能对您有所帮助

$query = mysql_query("SELECT * FROM tblpatientservices WHERE DATE(dateTimeStart) = '$date' AND status='Done'");
首先,我们应该避免在textfield中保留名称“date”。最好使用不同的名称以避免歧义。
将textfield的名称更改为“SelectedDate”
在表中,dateTimeStart必须采用yyyy-mm-dd h:i:s格式。所以,最好使用这种格式的日期选择器。如果没有,请通过将其更改为yyyy-mm-dd格式。
$SelectedDate=日期(“YYYY-mm-dd”,标准时间($SelectedDate));(如果不是yyyy-mm-dd格式,则为OK)
$query=mysql\u query(“从TBLPartientServices中选择*,其中dateTimeStart类似于“$SelectedDate%”和status='Done'”;

您需要从数据库中获取日期并将其放入datepicker,是这样吗?我需要从数据库中获取日期(其中存储了datetime)并以表单形式回显它。在您继续之前,我会提出一个友好的建议,将您的代码从
mysql
更改为
pdo\U mysql
mysql
已被弃用,很快您的代码将停止运行
dateTimeStart
是数据库中的字段名,
$date
值是从datepicker文本框中派生出来的?yes@kuya。我需要回应,这是我第一次尝试。但它没有起作用。无论如何感谢您的建议。如果您的数据库字段的值类似于2015-09-01 00:00:00,那么查询将是$date='2015-09-01%'$query=mysql\u query(“从tblpatientservices中选择*,其中dateTimeStart类似于“$date”和status='Done'”);这对我来说太完美了。我会做到的@kuya。谢谢
First of all, we should avoid keeping the name 'date' in textfield. It's better to have different name to avoid some ambiguity.

Changing the name of textfield to 'SelectedDate'

<input type="text" class="form-control" id="date" name="SelectedDate" required autocomplete="off" title="Choose Date" >
<input type="submit" name="submit" id="submit" value="Show Report">

In Table, dateTimeStart must be in yyyy-mm-dd h:i:s format. So, Better to have that format of date picker. If, it's not having, change it to yyyy-mm-dd format by.

$SelectedDate=date("YYYY-mm-dd",strtotime($SelectedDate)); (If not in yyyy-mm-dd format. Otherwise OK)

$query = mysql_query("SELECT * FROM tblpatientservices WHERE dateTimeStart LIKE '$SelectedDate%' AND status='Done'");