php - 组合框输入选择当天的 MySQL 数据

标签 php mysql select combobox

感谢您的帮助。 我有一个日期组合框,可以选择今天和 future 6 天。 输出当前设置为仅显示来自 MySQL 的 CURRENTDATE 数据 我的目标是显示不是从当前日期开始的数据,而是从 ComboBox 中选择的日期开始的数据。

再次感谢。

<html>
<head>
<title>Connecting MySQL Server</title>

<style>
table,td,th
{
border:1px solid orange;
}
table
{
width:100%;
}
th
{
height:50px;
}
</style>


</head>
<body>
<select name="select" id="select">
<?php
$date = time();
$num_days = 7;
for($i=0; $i<=$num_days; ++$i)
{
$date = mktime(0, 0, 0, date("m") , date("d")+$i, date("Y"));
$date = date('D j M', $date);
echo " <option value='{$date}'>{$date}</option>\n";
}
?>
</select>



<?php
$con=mysqli_connect("localhost","XXXXXXX","XXXXXXX","XXXXXXX");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$result = mysqli_query($con,"
SELECT *
FROM movies2 
WHERE date = CURDATE()



");



echo "<table border='2'>
<tr>
<th>Movie</th>
<th>Rating</th>
<th>Time</th>
<th>Date</th>
<th>Code</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td nowrap>" . $row['movie'] . "</td>";
echo "<td nowrap>" . $row['rating'] . "</td>";
echo "<td nowrap>" . $row['time'] . "</td>";
echo "<td nowrap>" . $row['date'] . "</td>";
echo "<td nowrap>" . $row['code'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>


</body>
</html>

最佳答案

一般来说,您需要将元素放入表单中,其操作是同一页面,然后在查询中您需要将 CURDATE() 替换为变量。

此变量是“select”(如果可用)或 CURDATE() 的值。

但是您需要清理表单变量以避免 SQL 注入(inject)。

更好的是,使用准备好的语句而不是简单的字符串。因此,您的变量将提供准备好的语句的参数。

关于php - 组合框输入选择当天的 MySQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274477/

相关文章:

php - SQL查询哪里不同

php - 如何标记符合购物车价格规则的产品

mysql - 高可用双活数据库设计

css - IE 选择悬停问题

php - 计算 SELECT 语句中列值的总和

php - 单击在 WooCommerce 管理员订单列表中显示文本时隐藏自定义操作按钮

php - 在 PHP 中更改 the_post_thumbnail 的输出

php - 查询适用于 mysql,但不适用于 php sql 调用

php - MySQL如何将所有列加在一起,其中pid = X

SQL:一个查询中有两个选择语句