2014-01-30 69 views
0

你好,我想更新每10秒(有点像心跳)LastActive行,所以我写了这个:检查用户是否在线

$(document).ready(function() 
{ 
    var checkOn = setInterval(function() 
    { 
     $.get("cm/check-online.php"); 
    }, 10000); 
}); 

<?php 
    require_once("config.php"); 

    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

    $my_id = $_SESSION['z_id']; 

    $q_update_myself = "UPDATE acc SET LastTimeActive='NOW()' AND LoggedIn='1' WHERE z_id='$my_id'"; 
    $do_q_update_myself = mysqli_query($dbc, $q_update_myself); 
?> 

但是,这并不工作,我不知道如何解决它:|我需要这个,因为我使用脚本来处理所有用户,如果他的LastTimeActive> 30,那么它将“LoggedIn”设置为0.

而且它不起作用,因为LastTimeActive与join_date一样。 ..它不会改变。

+3

定义 “不工作” – zerkms

+1

'LastTimeActive = 'NOW()''---你知道你要指定一个字符串' 'NOW()''在这里吗? – zerkms

+0

是你的剧本,甚至叫? – zerkms

回答

0

有您检查从PHP脚本AJAX呼吁

你需要每天都这样,你访问它之前访问会话页面上让你Z_id会议无功:

session_start(); 

做到这一点为你工作?

<?php 
require_once("config.php"); 
session_start(); 

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

$my_id = $_SESSION['z_id']; 
$time_now = date("Y-m-d H:i:s") 

if(isset($my_id) && !empty($my_id)){ 
$q_update_myself = "UPDATE acc SET LastTimeActive='$time_now' AND LoggedIn='1' WHERE z_id='$my_id'"; 
$do_q_update_myself = mysqli_query($dbc, $q_update_myself); 
}else{ 
//error No Z_ID 
} 
?> 
+0

谢谢你,作品...我也改变了我的查询,因为“,”丢失了:) – user3251400