帝国CMS7.0数据库记录所有浏览访问的会员教程
2014-10-20来源:易贤网

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>

这样就可以了。

更多信息请查看IT技术专栏

推荐信息