我从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在数据库中
答案 0 :(得分: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'");
}
答案 1 :(得分: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
的语法错误答案 2 :(得分:0)
试试这个:
if((time()-1800) > strtotime($row['last_visit']) { // 3600 is one hour, so 1800 is 30 minutes