gpt4 book ai didi

mysql - 这个 MySQL 查询有效吗?

转载 作者:行者123 更新时间:2023-11-29 13:33:49 25 4
gpt4 key购买 nike

这是我拜访 friend 时发现的。他正在尝试在表中显示他创建的数据库中的数据。

这是他询问开始日期和结束日期的部分:

<form method="post">
<input type="date" name="Date1" value="<?php echo $_POST['StartD'] ?>" style="position:absolute; top:2em; left:7em;">
<p style="font-family:Calibri; color:green; font-size:15px; position: absolute; top: 1em; left: 18em;">to</p>
<input type="date" name="Date2" value="<?php echo $_POST['EndD'] ?>" style="position:absolute; top:2em; left:23em;"><br />
<input type="submit" id="Sbtn" style="cursor: pointer;" name="search_projects" value="Search">
</form>

现在这是他的 MySQL 查询:

$sql= "SELECT * FROM statisticData WHERE accessDate LIKE '%" . $_POST['StartD'] . "%' OR accessDate LIKE '%" . $_POST['EndD'] . "%' ORDER BY accessDate ASC";

每当他选择开始日期:09-13-13 和结束日期:09-13-13 时,日期如 09-12 -13 也出现在表中。我让他去问问专业人士,他说他太害羞了。所以我才问。

这是他的代码:

<div class="scrollableTable">
<center><table class="font1" border="3px solid white" width="70%">
<thead>
<tr id="tblRow">
<th id="tblData" width="20%">Access Date</td>
<th id="tblData" width="15%">ID number</td>
<th id="tblData" width="35%">Name</td>
<th id="tblData" width="20%">Keyword</td>
</tr>
</thead>
<?php
if ($_POST['search_projects']){

$con= mysql_connect("...","...","...") or die ('Error: ' . mysql_error());
mysql_select_db("...");
$sql= "SELECT * FROM statisticData WHERE accessDate LIKE '%" . $_POST['StartD'] . "%' AND accessDate LIKE '%" . $_POST['EndD'] . "%' ORDER BY accessDate DESC";
$result= mysql_query($sql);

while($row= mysql_fetch_object($result))
{
$Date=$row->accessDate;
$ID=$row->IDnum;
$Name=$row->Sname;
$Key=$row->keyWord;

echo "<tr>";
echo "<td>" . $Date. " </td>" . " <td>" . $ID. " </td>" . " <td>" . $Name. " </td>". " <td>" . $Key. " </td>";
echo "</tr>";

}
echo "</table>";
echo "</center>";
}
?>
</div>

他希望允许用户使用这些日期输入浏览数据库的内容。

start and end date input

问题是即使我选择开始和结束日期,所有内容都显示在表格中。他的查询根本不过滤结果。我叫他睡一觉,但他却一直骚扰我。那么你认为他应该怎么做才能最终睡个好觉?

最佳答案

人的问题在于名字:

$sql= "SELECT * FROM statisticData WHERE accessDate LIKE '%" . $_POST['Date1'] . "%' OR accessDate LIKE '%" . $_POST['Date2'] . "%' ORDER BY accessDate ASC";

还有:

<form method="post">
<input type="date" name="Date1" value="<?php echo $_POST['Date1'] ?>" style="position:absolute; top:2em; left:7em;">
<p style="font-family:Calibri; color:green; font-size:15px; position: absolute; top: 1em; left: 18em;">to</p>
<input type="date" name="Date2" value="<?php echo $_POST['Date2'] ?>" style="position:absolute; top:2em; left:23em;"><br />
<input type="submit" id="Sbtn" style="cursor: pointer;" name="search_projects" value="Search">
</form>


更新:

  • 我们必须转换 MySQL 的时间
  • 并使用 BETWEEN 语句


<?php
if ($_POST['search_projects']){

$startDate = date("Y-m-d", strtotime($_POST['Date1']));
$endDate = date("Y-m-d", strtotime($_POST['Date2']));

$con= mysql_connect("...","...","...") or die ('Error: ' . mysql_error());
mysql_select_db("...");
$sql= "SELECT * FROM statisticData WHERE accessDate BETWEEN '$startDate' AND '$endDate' ORDER BY accessDate DESC";
$result= mysql_query($sql);
...

关于mysql - 这个 MySQL 查询有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com