【问题标题】:How to create multiple timer based on the timestamp of a data in database or delay the popup of the data base on the timestamp or time如何根据数据库中数据的时间戳创建多个计时器或根据时间戳或时间延迟数据库的弹出
【发布时间】:2019-03-11 08:35:41
【问题描述】:

这里我有购物车网站,当用户结帐时,它将转到数据库名称结帐。然后管理员将检查用户项目的详细信息,然后单击接受,它将转到数据库名称待付款。然后它会通知用户从现在起 4 小时后请使用任何信用卡付款,否则它将被删除。我的待付款数据库中有一个列名计时器,它是一个时间戳,另一个列名 time 将获取日期和时间数据。我只做这种类型的付款,因为我仍然不知道如何创建一个贝宝付款,所以我只是检查我的余额作为验证的一种方式,这将是暂时的,并且还有更多选择是否可以使用时间戳或日期来完成在像 H/h/y/s 这样的 php 代码中。现在,如果用户发送数据,那么时间戳会出现在数据库中或(2019 年 3 月 11 日下午 5:03)时间。我会像这样取哪个

$sql="SELECT * FROM pendingpayment;";
$sttmt=mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($sttmt,$sql)){

echo "sql statement failed in displayitems.php line 71";            
}else{
 mysqli_stmt_execute($sttmt);
 $ressult=mysqli_stmt_get_result($sttmt);
 if(mysqli_num_rows($ressult)>0){
 while($rowz=mysqli_fetch_assoc($ressult)){

时间戳

     $rowz=['timestamp'];

用户插入数据的时间

     $rowz['time'];

     }}}

这是时间戳的输出

   2019-03-10 22:41:26

时间的输出由你决定 现在我想在那个时间戳或时间创建一个警报。这将在 4 小时后通知用户。例如。用户在下午 5 点发送数据,然后管理员在 6 点接受它,它会通知用户(从现在起 4 小时,请支付或删除有计时器的 6-10 点)是否可以使用 php 或 js?

或者我应该将数据的弹出延迟 4 小时后?就像我在 db 中选择 * 然后根据时间戳或时间仅在 4 小时后弹出

我的通知方式是将数据插入到数据库名称通知中,然后我只需选择 * 并显示它

【问题讨论】:

  • 这只有在用户仍然在您的网站上闲逛时才有效……我不知道您是如何在线购物的,但我通常不会在之后停留一个小时退房。
  • 所以我不能从中创建一个计时器?或者延迟数据库中的时间弹出数据库?
  • 如果我在一小时前已经离开了你的网站,你现在希望谁或什么给我看任何类型的“弹出窗口”?您可以查看浏览器通知或类似的东西 - 但这些也不是一件容易实现的事情。
  • 这也是为了教育目的
  • 睡眠功能或许是解决办法

标签: javascript php mysqli


【解决方案1】:

睡眠功能是这样工作的

 if(isset($_POST['bla'])){
    sleep(10);
 $bla=$_POST['bla'];
  $sql="INSERT INTO checkout(fname) VALUES(?);";
  $stmt=mysqli_stmt_init($conn);
  if(!mysqli_stmt_prepare($stmt,$sql)){
  echo "error in sql";
  }else{
  mysqli_stmt_bind_param($stmt,'s',$bla);
  mysqli_stmt_execute($stmt);
  }
}

即使用户删除了浏览器,它仍然会在 5 秒后将数据插入到数据库中

【讨论】:

    猜你喜欢
    • 2020-03-07
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 2023-03-17
    • 2018-04-28
    • 2021-12-02
    相关资源
    最近更新 更多