この記事では、ニュース システム データ テーブルを例として、閲覧および訪問したすべてのメンバーをデータベースに記録する Imperial CMS7.0 の方法について説明します。具体的な手順は次のとおりです:
1. ニュース システム データ テーブルのフィールド管理に「visituserid」フィールドを追加し、フィールド タイプは「CHAR」です。
2. 統計が必要なページの
コードは次のとおりです:
<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>
推奨学習《 Empire cms チュートリアル 》
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>已阅人:</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>
以上です。
以上がSharing Empire CMS7.0は閲覧・訪問したメンバー全員を記録する手法を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。