在页面中的特定时间之后插入数据

时间:2012-12-11 18:38:57

标签: php mysql time

我编码了这个:

<?php
include("includes/config.php");
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['username']))
{


if(is_numeric($_GET['num']) && mysql_real_escape_string($_GET['id'])){
$username=$_SESSION['username'];
$video_id=$_GET['id'];
$video_num=$_GET['num'];
$checknum=mysql_query("select visitedpage.video_id,visitedpage.video_num from visitedpage where video_num='$video_num'");
$num=mysql_num_rows($checknum);

if($num < 1){   
$savepage=mysql_query("insert into visitedpage(username,video_id,video_num) values ('$username','$video_id','$video_num')");
}

if($num < 1 ){
    $get=mysql_query("select users.percent from users where username='$username'");
    $fetch=mysql_fetch_assoc($get);
    $now=$fetch['percent'];
    $add=1;
    $sum=$now + $add;
    $update=mysql_query("update users set percent='$sum' where username='$username'");
}

}}

?>

我希望当用户在页面中停留大约10分钟时执行代码

我试过(sleep())但这会停止执行页面的其余部分, 我只需要将此片段从执行中延迟......

4 个答案:

答案 0 :(得分:1)

您必须使用客户端脚本(Javascript)执行此操作。事后,您无法使用服务器端脚本编辑已在客户端浏览器上显示的内容。

答案 1 :(得分:1)

您可能需要使用javascript来执行您想要执行的操作,因为一旦您呈现页面源并将其发送到浏览器,PHP就不再使用(直到客户端浏览器的下一个请求)。

答案 2 :(得分:1)

我建议使用基于javascript的解决方案,然后执行AJAX请求。

答案 3 :(得分:1)

为什么不在10分钟后对这段代码执行ajax请求? 这样的事情。 ...

setTimeout(function() {
  // Do the ajax after 10 seconds. 
}, 10000);

Detecting idle time in JavaScript elegantly 这个http://www.jquery4u.com/jquery-functions/settimeout-example/