Php 如何在mysql数据库中查找特定日期数据或下一个日期数据?
我正试图从数据库中找到特定的日期数据, 我的概念是,如果数据库中有日期,则应在输出中显示日期,如果不存在,则应向Php 如何在mysql数据库中查找特定日期数据或下一个日期数据?,php,mysql,Php,Mysql,我正试图从数据库中找到特定的日期数据, 我的概念是,如果数据库中有日期,则应在输出中显示日期,如果不存在,则应向2018-11-30添加+1日期,并尝试查找下一个日期2018-12-01 但我面临的问题是数据库中没有检查日期。我不确定我的代码是正确的还是错误的。有人能给我解决方法吗 这是我的密码 $Firstdate = '2018-11-29'; $Lastdate = '2018-12-03'; $Sql2 = "SELECT ScheduleDate FROM `empdet`"; $
2018-11-30
添加+1日期,并尝试查找下一个日期2018-12-01
但我面临的问题是数据库中没有检查日期。我不确定我的代码是正确的还是错误的。有人能给我解决方法吗
这是我的密码
$Firstdate = '2018-11-29';
$Lastdate = '2018-12-03';
$Sql2 = "SELECT ScheduleDate FROM `empdet`";
$result2 = mysqli_query($con, $Sql2);
while($row = mysqli_fetch_array($result2))
{
if($row["ScheduleDate"]==$Firstdate)
{
$DBfirstdate==$Firstdate;
echo "$DBfirstdatebb",$DBfirstdate;
break;
}
else {
$checkFDBdate=date('Y-m-d', strtotime("+1 day", strtotime($Firstdate)));
if($row["ScheduleDate"]==$checkFDBdate)
{
$DBfirstdate=$checkFDBdate;
echo "$DBfirstdate",$DBfirstdate;
break;
}
}
}
$Sql3 = "SELECT ScheduleDate FROM `empdet`";
$result3 = mysqli_query($con, $Sql3);
while($row = mysqli_fetch_array($result3))
{
if($row["ScheduleDate"] == $Lastdate) {
$DBlastdate==$Lastdate;
echo "$DBlastdateBB",$DBlastdate;
break;
}
else {
$checkLDBdate=date('Y-m-d', strtotime("-1 day", strtotime($Lastdate)));
if($row["ScheduleDate"]==$checkLDBdate)
{
$DBlastdate=$checkLDBdate;
echo "$DBlastdate",$DBlastdate;
break;
}
}
}
$sql ="select * from empdet where ScheduleDate between '".$DBfirstdate."' and '".$DBlastdate."'";
$result = $con->query($sql);
从'empdet'中选择ScheduleDate,其中ScheduleDate>'$Firstdate'和ScheduleDate<'$Lastdate'按ScheduleDate限制1排序
这样试试。您将从给定的日期范围中获得第一个原始数据。具有用于选择数据的WHERE子句。PHP有防止SQL注入的功能。我无法理解bro@dankblacki无法执行他的语句,因为我必须找到$Firstdate和$Lastdate是否存在于表中,所以我只是尝试上述概念,但无法执行。请给出具体范围。因此,您将获得第一个结果,因为最新的可用日期它起作用了我做了一些细微的更改$Sqlq12=“SELECT ScheduleDate FROM
empdet
where ScheduleDate@selvasurya这很好,但这不是您所说的您想要的。如果有一些文本解释您的答案,而不是每个人都阅读代码并理解,那将是一件好事。
Select stuff from somewhere where something > 'value' order by something limit 1
SELECT ScheduleDate FROM `empdet` where ScheduleDate > '$Firstdate' and ScheduleDate < '$Lastdate' order by ScheduleDate limit 1