如何每23小时在PHP页面中隐藏Mysql记录?

时间:2019-02-21 14:21:52

标签: php mysql

我可以每天每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();
?>

还是有参考网站?我希望有人向我推荐。

我一直在寻找它整整一天,但是我没有对此进行讨论。我找到了一种每隔几个小时删除记录的方法,但是我不想这样做。

请帮助我,谢谢

3 个答案:

答案 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

查询。