本文以新闻系统数据表为例,讲述帝国cms7.0实现记录所有浏览访问的会员入数据库的方法。具体步骤如下:
一、新闻系统数据表中字段管理中添加“visituserid”字段,字段类型为“CHAR ”。
二、在需要统计的页面的中添加如下代码:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script></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>
推荐学习《帝国cms教程》
三、添加数据代码
可以下载压缩包,将其中的文件夹ly解压后放在根目录中,可以本站下载
文件路径 根目录/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
<?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 if else>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} ");
}
?></count>
四、调用已阅人员列表
在需要调用的地方添加代码如下:代码如下:
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
<div>
<li>已阅人:</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>
{$sql[username]}</a></li>";
//print_r($arr);
//die;
}
}
?>
=$visituserid?>
<!--visituserid不为空时显示结束-->
<?php }
else
{
?><!--visituserid为空时显示开始--><!--visituserid为空时显示结束--><?php }
?>
</div>
这样就可以了。
以上就是分享帝国CMS7.0实现记录所有浏览访问的会员的方法的详细内容,更多请关注php中文网其它相关文章!