我可以每天每23小时从mysql隐藏一次数据,然后在1小时后再次显示吗?
例如,我想在23:00隐藏页面上的数据,然后在00:00再次显示。
我应该在此php代码中添加些什么?
<?php
$servername = "localhost";
$username = "usrname";
$password = "usrpass";
$database = "dbname";
$mysqli = new mysqli($servername, $username, $password, $database);
$mysqli->select_db($database) or die("Unable to select database");
$sql = "SELECT prize, result FROM qtytable ORDER BY tgl DESC LIMIT 5";
$result = $mysqli->query($sql);
if ($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<div class="item">';
echo '<div class="prizes">'. $row["prize"]. '</div>';
echo '<div class="results">'. $row["result"]. '</div>';
echo '</div>';
}
}
else {
echo '0 results';
}
$mysqli->close();
?>
还是有参考网站?我希望有人向我推荐。
我一直在寻找它整整一天,但是我没有对此进行讨论。我找到了一种每隔几个小时删除记录的方法,但是我不想这样做。
请帮助我,谢谢
答案 0 :(得分:1)
在执行查询并与日期进行比较之前,您可以使用if语句。
**更新以使其更有效。
<?php
if(date("G") > 22){
print "0 Results";
exit();
// save cpu time..
}
$servername = "localhost";
$username = "usrname";
$password = "usrpass";
$database = "dbname";
$mysqli = new mysqli($servername, $username, $password, $database);
$mysqli->select_db($database) or die("Unable to select database");
$sql = "SELECT prize, result FROM qtytable ORDER BY tgl DESC LIMIT 5";
$result = $mysqli->query($sql);
if ($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<div class="item">';
echo '<div class="prizes">'. $row["prize"]. '</div>';
echo '<div class="results">'. $row["result"]. '</div>';
echo '</div>';
}
}else {
echo '0 results';
}
$mysqli->close();
?>
答案 1 :(得分:1)
只需检查当前时间:
if(date('H') != 23) {
// Do query and display data
}
答案 2 :(得分:0)
如果表中有DATETIME
列或CHAR|VARCHAR
列,其格式为yyyy-mm-dd hh:mm:ss
您可以添加
WHERE HOUR(<column>) <> 23
查询。