点击按钮禁用它并在日期更改按钮在php中重新激活后将当前日期时间存储在数据库中

时间:2014-02-14 17:44:41

标签: php mysql date

<table id="rounded-corner">
  <thead>
    <tr>
      <th width="5%">ID</th>
      <th>Site Url</th>
      <th width="10%"></th>
      <th width="">Visit Sites</th>
    </tr>
  </thead>
  <tbody>

 <?php
 if(isset($_POST['siteID'])) {
   $q = "INSERT INTO visited (userID, siteID, datetime)
        VALUES(".$_SESSION['id'].", ".$_POST['siteID'].", NOW())";
   $r = mysql_query($q);
   header('Location: index.php');
 }

  while($rows = mysql_fetch_assoc($result)) {
 ?>
 <form action="" method="post">
    <tr>
      <td><?php echo $rows['id']; ?></td>
      <td><?php echo $rows['url']; ?></td>
      <td></td>
      <td>
        <?php
        $query1 = "SELECT datetime FROM visited WHERE `siteID` = ".$rows['id']." AND `userID` = ".$_SESSION['id']." LIMIT 1";
        $result1 = mysql_query($query1);

        $row1 = mysql_fetch_assoc($result1);

        $difference=strtotime('tomorrow')-time();
        echo $difference;
        if($difference > 0){
        ?>
          <input type="submit" disabled="disabled" value="Visit Now" id="btnVisit<?php echo $rows['id']; ?>" />
        <?php
        } else {
        ?>
          <input type="hidden" name="siteID" value="<?php echo $rows['id']; ?>" />
          <input type="submit" value="Visit Now" id="btnVisit<?php echo $rows['id']; ?>" />
        <?php
        }
        ?>
      </td>

    </tr>
    </form>
 <?php
  }
 ?>

  </tbody>
</table>

在页面中有一些按钮。假设用户已经注册了。登录用户可以每天查看此页面并单击这些链接。当按钮单击存储用户ID,站点ID和访问表中的当前日期时间。所有按钮现在都被禁用,直到明天午夜。一旦更改日期,所有按钮都会重新激活。

表格如下:

用户:ID,姓名,密码

网站:id,url

已访问:id,userid,siteid,datetime

谢谢

2 个答案:

答案 0 :(得分:0)

因此,如果您在日期时间,最后一次点击按钮时存储,那么只需在显示按钮的代码中,检查今天的日期是否大于数据库中存储的日期。如果是,则显示按钮;否则,请禁用该按钮。

您可以让您的SQL语句类似于从DB获取日期:

SELECT DATE(datetime) FROM user_button WHERE userid = 'XXXXX' AND buttonid = 'YYYYY';

然后将它与昨天的日期进行比较:

$date_yesterday = date("Y-m-d", strtotime('yesterday'));

if ($date_from_db > $date_yesterday) {
   // SHOW FULL BUTTON
}
else {
    // SHOW DISABLED BUTTON
}

答案 1 :(得分:0)

在数据库中的日期和今天的日期之间做一个日期差异:

http://ca2.php.net/date_diff

    $visited = date_create($row1['datetime']);
    $today = date_create(date("Y-m-d H:i:s"));

    $diff = date_diff($visited, $today );
    echo $diff->format("%R%a days");

这应该在结果为+1天之前经过一整天(24小时)。