【帝国cms教程】帝国CMS7.0数据库记录所有浏览访问的会员教程
1、新闻系统数据表中字段管理中添加“visituserid”字段,字段类型为“CHAR ”。
2、在需要统计的页面的<head></head>中添加如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <script src= "[!--news.url--]/ly/jquery.js" type= "text/javascript" ></script> <script> //信息ID var id = [!--id--]; //登陆用户 var userid = <?=$lguserid=intval(getc var ( 'mluserid' ))?>; $( function (){ if (userid) { $.post( '/ly/recorduser/index.php' , {userid:userid,id:id}, "html" ); } }) </script> |
3、添加数据代码
可以下载压缩包将文件放在根目录中
文件路径 根目录/ly/recorduser/index.php
index.php文件代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <?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、调用已阅人员列表
在需要调用的地方添加代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <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> |
这样就可以了。
版权声明:本文来源于互联网,如有侵权,请联系下方邮箱,一个工作日删除!