1、新聞系統數據表中字段管理中添加“visituserid”字段,字段類型為“CHAR ”。
2、在需要統計的頁面的<head></head>中添加如下代碼:
<script src="[!--news.url--]/ly/jquery.js" type="text/javascript"></script>
<script>
//信息ID
var id = [!--id--];
//登陸用戶
var userid = <?=$lguserid=intval(getcvar('mluserid'))?>;
$(function(){
if(userid)
{
$.post(
'/ly/recorduser/index.php',
{userid:userid,id:id},
"html"
);
}
})
</script>
3、添加數據代碼
可以下載壓縮包將文件放在根目錄中
文件路徑 根目錄/ly/recorduser/index.php
index.php文件代碼:
<?php
require('../../e/class/connect.php'); //引入數據庫配置文件和公共函數文件
require('../../e/class/db_sql.php'); //引入數據庫操作文件
include('../../e/class/functions.php');
$link=db_connect(); //連接MYSQL
$empire=new mysqlquery(); //聲明數據庫操作類
if(!$_POST['userid'])
{
exit;
}
/*
userid
visituserid
/
表名稱:
欄目ID
信息ID
表名稱@@@欄目ID@@@信息ID::::::
/
*/
//查詢是否已有userid
if($user=$empire->fetch1("select * from {$dbtbpre}ecms_news where id = {$_POST['id']}"))
{
//格式化字符串
$visituserid="{$_POST['userid']}";
//信息分隔符
$dot='';
//判斷是否已有記錄數
if(strstr($user['visituserid'],$visituserid))
{
//已有記錄返回空
die;
}
if($user['visituserid']!='')
{
$dot=',';
}
//大于1000調記錄數去掉最后的一條信息
if($user['visituserid'] && substr_count($user['visituserid'],$dot)>=999)
{
//去除最后一條記錄數
$arr=explode(',',$user['visituserid']);
$arrvisituserid='';
$dot1=$dot;
for($i=0;$i<count($arr);$i++)
{
if($i!=(count($arr)-1))
{
if($i==(count($arr)-2))
{
$dot1='';
}
$arrvisituserid.=$arr[$i].$dot1;
}
}
$visituserid.=$dot.$arrvisituserid;
}
else
{
$visituserid.=$dot.$user['visituserid'];
}
//不存在的記錄數、更新表
$empire->query("update {$dbtbpre}ecms_news set `visituserid` = '{$visituserid}' where id = {$_POST['id']}");
}
//沒有記錄數插入一條
else
{
$visituserid="{$_POST['userid']}";
$sql=$empire->query(" INSERT INTO `{$dbtbpre}ecms_news` `visituserid` VALUES '{$visituserid}' ");
}
?>
4、調用已閱人員列表
在需要調用的地方添加代碼如下:
<div class="ct_fw"><li><b>已閱人:</b></li>
<!--判斷visituserid是否為空-->
<?php
if($navinfor[visituserid])
{
?>
<!--visituserid不為空時顯示開始-->
<?php
$record=$empire->fetch1("select * from {$dbtbpre}ecms_news where id = $navinfor[id]");
if($record)
{
$info=explode(",",$record['visituserid']);
$visituserid='';
foreach($info as $v)
{
$arr=explode($v);
$sql=$empire->fetch1("select * from {$dbtbpre}enewsmember where userid = $v ");
$visituserid.="<li><a href='/e/space/?userid=$v' title='點擊訪問{$sql[username]}的空間' target='_blank'>{$sql[username]}</a></li>";
//print_r($arr);
//die;
}
}
?>
<?=$visituserid?>
<!--visituserid不為空時顯示結束-->
<?php
}
else
{
?>
<!--visituserid為空時顯示開始-->
<!--visituserid為空時顯示結束-->
<?php
}
?>
</div>
這樣就可以了。
附件請點擊下載:
立即下載