我有一个表temp_views
应该根据用户的IP存储视图。如果视图是1个小时,我想从表中删除它。1小时后删除临时视图
// Update views
$stmt = $db->prepare("SELECT COUNT(*) FROM temp_views WHERE v_postid=? AND v_ip=?");
$stmt->bind_param("is",$pid,$ip);
$stmt->execute();
$stmt->bind_result($temp_view);
$stmt->fetch();
$stmt->close();
if ($temp_view == 0){
// Insert a temporary view for 1 hr
$stmt = $db->prepare("INSERT INTO temp_views (v_ip,v_postid) VALUES (?,?)");
$stmt->bind_param("si",$ip,$pid);
$stmt->execute();
$stmt->close();
// Add view to post
$stmt = $db->prepare("UPDATE posts SET p_views=p_views+1 WHERE p_id=?");
$stmt->bind_param("i",$pid);
$stmt->execute();
$stmt->close();
}
我该如何去做这件事?
的添加时间戳列保持当视图应被删除的时间。写一个每分钟左右运行的cronjob,并删除时间戳过去的视图。 –