首页 > 解决方案 > 从输入获取日期值到 mySQL

问题描述

如果我试图从 $Fromdatepicker 或 $Todatepicker 的变量中获取数据,我似乎无法从数据库中获取数据,但是如果我在 mySQL 中放置类似“10/17/2019”这样的日期,它工作得非常好并显示数据

我查看了日期是如何从 $Fromdatepicker 或 $Todatepicker 显示的,它们是我需要的 excat 格式 2019 年 10 月 17 日,但如果我使用它们,数据仍然不会显示

我正在使用 Ajax 从 html 到 php 获取值,如果我回显它们,它会显示,但当我尝试在 mySQL 中使用它们时不会显示

$DailyConfirmedsql = "SELECT general.RR,Status_Type,Confirmation_Date FROM general LEFT JOIN statupdate ON general.RR = statupdate.RR LEFT JOIN shipmentdates ON general.RR = shipmentdates.RR WHERE statupdate.Status_Type = 'Confirmed' AND shipmentdates.Confirmation_Date BETWEEN '$Fromdatepicker' AND '$Todatepicker'";

这是为了获取数据库中“已确认”的计数

$DailyConfirmedStatus = $conn->query($DailyConfirmedsql);
$numberDailyConfirmed = mysqli_num_rows($DailyConfirmedStatus);

如果我使用“$Fromdatepicker”和“$Todatepicker”,结果将为 0,但如果我将日期写入 mySQL 脚本,如“2019 年 10 月 17 日”和“2019 年 10 月 30 日”,我会得到以下结果17 哪个是正确的

标签: phphtmlmysql

解决方案


尝试这个:

$from = \DateTime::createFromFormat('m.d.Y', $Fromdatepicker)->format('Y-m-d');
$to = \DateTime::createFromFormat('m.d.Y', $Todatepicker)->format('Y-m-d');
$DailyConfirmedsql = "SELECT general.RR,Status_Type,Confirmation_Date FROM general LEFT JOIN statupdate ON general.RR = statupdate.RR LEFT JOIN shipmentdates ON general.RR = shipmentdates.RR WHERE statupdate.Status_Type = 'Confirmed' AND shipmentdates.Confirmation_Date BETWEEN '$from' AND '$to'";

推荐阅读