$mysqli = new mysqli("localhost", $username, $password, $database);
$query = "SELECT code , value , type ,expirationdate, notes, startdate FROM tblpromotions"; echo "
while ($row = $result->fetch_assoc()) { $field1name = $row["code"]; $field2name = $row["value"]; $field3name = $row["type"]; $field4name = $row["expirationdate"]; $field5name = $row["notes"]; $field6name = $row["startdate"]; 我无法弄清楚如何使其更旧的日期不会显示在页面exp上
expirationdate = 12/1/2019,然后今天是12/8/2019 该表将不会显示在页面上
如果帖子已过期,我不想显示它们?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要在查询结果中过滤掉已过期的日期记录,您可以在SQL查询语句中直接加入日期比较条件。这样,在从数据库获取数据时就已经排除了过期的记录。以下是修改后的SQL查询示例:
// 假设今天是2019-12-08,您可以使用PHP的date函数来获取当前日期,或者直接写死日期进行测试
$currentDate = date('Y-m-d'); // 或者直接写为 '2019-12-08'
$query = "SELECT code, value, type, expirationdate, notes, startdate
FROM tblpromotions
WHERE expirationdate >= '$currentDate'"; // 只选择expirationdate大于或等于今天的记录
echo "<table border='1'>
<tr>
<th>Code</th>
<th>Value</th>
<th>Type</th>
<th>Expiration Date</th>
<th>Notes</th>
<th>Start Date</th>
</tr>";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row["code"] . "</td>";
echo "<td>" . $row["value"] . "</td>";
echo "<td>" . $row["type"] . "</td>";
echo "<td>" . $row["expirationdate"] . "</td>";
echo "<td>" . $row["notes"] . "</td>";
echo "<td>" . $row["startdate"] . "</td>";
echo "</tr>";
}
} else {
echo "No results found.";
}
echo "</table>";
这段代码首先使用date()
函数获取当前日期(格式为'YYYY-MM-DD'),然后在SQL查询中添加了一个WHERE
子句,确保只选取那些expirationdate
字段值大于或等于当前日期的记录。这样,过期的记录就不会被查询出来,自然也就不会显示在页面上了。