1

行からMySQLから次の時間を選択しています:

2013-02-05 11:05:20

30分経過したか確認したいのですが..

これは私がこれまでに試したことですが、うまくいかないようです:

if(strtotime($row['last_visit']) > strtotime("-30 minutes")) {
        $database->query("UPDATE `visit_count` SET visitCount = visitCount + 1, cookieId = '$sid', last_visit='$idag' WHERE cookieId = '$sid' AND ipaddress = '$ip'");

}

データベース内の last_visit = 2013-02-05 11:05:20

4

3 に答える 3

1

現在の時間と比較する必要があります

if(strtotime($row['last_visit']) < (time() -(30*60)) {
        $database->query("UPDATE `visit_count` SET visitCount = visitCount + 1, cookieId = '$sid', last_visit='$idag' WHERE cookieId = '$sid' AND ipaddress = '$ip'");

}
于 2013-02-05T10:12:32.750 に答える
1
$database->query("UPDATE `visit_count` SET visitCount = visitCount + 1, cookieId = '$sid',   last_visit='$idag' WHERE cookieId = '$sid' AND ipaddress = '$ip'" and MINUTES(last_visit)=MINUTES(TIMESTAMP())-30);

構文エラーがある可能性があります。ここでインターネットが問題を引き起こしています。http://dev.mysql.com/doc/refman/5.1/en/datetime.htmlの最適化構文エラー

于 2013-02-05T10:34:13.923 に答える
0

これを試して:

if((time()-1800) > strtotime($row['last_visit']) { // 3600 is one hour, so 1800 is 30 minutes
于 2013-02-05T10:13:21.720 に答える