0

PHPにユーザー制限を毎月削除させるにはどうすればよいですか?

ユーザーの検索制限を増やし、制限に達した場合にこのコードを使用します

$search = $db->prepare("SELECT `searched` FROM `search` WHERE `user_id` =:user_id");
$search->bindValue(':user_id', $vbulletin->userinfo['userid'], PDO::PARAM_INT);
$search->execute();
$result = $search->fetch(PDO::FETCH_ASSOC);
if ($result['searched'] >= 100){
    exit('You have reached your search limit for this month.<br>');
}
$addsearch = $db->prepare("UPDATE `evomap`.`search` SET `searched` = :searched + 1 WHERE `search`.`id` =:user_id;");
$addsearch->bindValue(':user_id', $vbulletin->userinfo['userid'], PDO::PARAM_INT);
$addsearch->bindValue(':searched', $result['searched'], PDO::PARAM_STR);
$addsearch->execute();
/* page i want to execute if user has no reached limit */
4

1 に答える 1

1

ユーザーが100回の検索に達したときに、日付に設定された月のタイムスタンプを持つ列を作成し、現在の月!=タイムスタンプかどうかを確認することをお勧めします。ただし、MySQLイベントを試すこともできます。何かのようなもの:

  DELIMITER $$
  CREATE EVENT search_removal
    ON SCHEDULE EVERY MONTH
    DO
      BEGIN
        UPDATE search SET searched = 0;
      END;
  $$;
于 2013-03-11T00:22:33.507 に答える