如何按时跟踪时间

时间:2015-02-25 12:52:44

标签: php mysql user-tracking visitor-statistic

我想跟踪每个页面的开始时间和结束时间。 我习惯于逻辑以下,但跟踪更新查询会降低我们的网站速度。请给出解决方案如何减少服务器加载时间

$sql_check = "
   SELECT uniquevisitorid 
   FROM analytics.tbl_analytics_data 
   WHERE uniquevisitorid = '".$strca[1]."'";
    $analycz = mysql_query($sql_check,$comp_con);
if(mysql_num_rows($analycz)<1){
        $unix_start_time = strtotime(date('jS F Y h:i:s A (T)'));
        $unix_end_time   = '';
    }
    else
    {
        $unix_start_time = strtotime(date('jS F Y h:i:s A (T)'));
        $unix_end_time = $unix_start_time;

        $update_analycz="
           UPDATE analytics.tbl_analytics_data  
           SET unixtimestamp_end = '".$unix_start_time."' 
           WHERE uniquevisitorid='".$strca[1]."'  
           ORDER BY id DESC LIMIT 1;";
        $result = mysql_query($update_analycz,$comp_con);
    }

用于插入插入查询下面使用的数据

$insert_into_analycz="
   INSERT INTO analytics.tbl_analytics_data  (cookiename,domainhash,uniquevisitorid,unixtimestamp_start,unixtimestamp_end,sessionid,session_counter,referral,path,domainname,userip,country,city,browser,useros,querystring,http_host,http_user_agent,inserttime) 
  VALUES('','".$strca[0]."','".
 $strca[1]."','".
$unix_start_time."','','".
$trace_info['session_id']."','".
$trace_info['sc']."','".
$trace_info['referer']."','".
$trace_info['path']."','".
$dn."','".
$trace_info['user_ip']."','".
$trace_info['UserCountry']."','".
$trace_info['UserCity']."','".
$trace_info['UserBrower']."','".
$trace_info['UserOS']."','".
$trace_info['UserQuery_String']."','".
$trace_info['JDHTTP_HOST']."','".
$trace_info['user_agent']."',now())";

2 个答案:

答案 0 :(得分:0)

嘿,你必须在查询mysql之前启动计时器,然后结束。

&#13;
&#13;
//BEFORE
$analycz = mysql_query($sql_check,$comp_con);
//AFTER
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我建议不要使用mysql。

使用标准日志文件。

并创建几个统计页面,这些页面将解析日志文件并显示您需要的结果和/或将日志文件中的数据插入到sql表中。