感谢您的帮助。 我有一个日期组合框,可以选择今天和 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/