PHPIN.NET

 找回密码
 立即注册
查看: 13015|回复: 0

[函数] 帝国CMS实现历史记录(产品浏览记录)

[复制链接]

469

主题

31

回帖

5569

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5569
发表于 2014-2-19 14:41:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一:在e/class/userfun.php中加:
  1. //--------------------开始------------------
  2. function user_SetCook($name, $id, $time = 0, $num = 10) { //cookie名称 ID 时间戳 数量
  3.     if (!$id) {
  4.         printerror2('不存在的记录', $_SERVER['HTTP_REFERER']);
  5.     }
  6.     $prodq = $id . '|';
  7.     $projilu = getcvar($name);
  8.     if ($projilu) {
  9.         $prozuhe = $prodq . $projilu; //把新浏览的放在第一
  10.         $pro_arr = explode('|', $prozuhe);
  11.         $new_arr = array_merge(array_unique($pro_arr)); //去除重复,重新索引下标
  12.         foreach ($new_arr as $key => $val) {
  13.             if (($key < $num) && $val) {
  14.                 $pro.= $val . '|';
  15.             }
  16.         }
  17.     } else {
  18.         $pro = $prodq;
  19.     }
  20.     esetcookie($name, $pro, $time);
  21.     //esetcookie($name,'',0);
  22.     //print_r($_COOKIE);
  23.    
  24. }
  25. function user_GetCook($name, $tbname, $num = 10) { //名称 数据表 数量
  26.     global $empire, $dbtbpre;
  27.     if (preg_match("/^[0-9\|]+$/", getcvar($name))) {
  28.         $jilu_all = substr(getcvar($name), 0, -1); //1|2|3
  29.         $jilu_arr = explode('|', $jilu_all);
  30.         foreach ($jilu_arr as $k => $v) {
  31.             $jilu_idin.= (int)$v . ',';
  32.         }
  33.         $jilu_idin = substr($jilu_idin, 0, -1); //1,2,3
  34.         $sql = $empire->query("select id,title,titlepic,titleurl from {$dbtbpre}ecms_{$tbname} where id in ({$jilu_idin}) order by find_in_set(id,'{$jilu_idin}') limit {$num}"); //按id in 里面的排序
  35.         while ($jilu_r = $empire->fetch($sql)) {
  36.             $titleurl = sys_ReturnBqTitleLink($jilu_r);
  37.             echo '<li><a href="' . $titleurl . '">' . $jilu_r['title'] . '</a></li>'; //此处是修改样式需要图片自己加
  38.             
  39.         }
  40.     } else {
  41.         echo '暂时浏览记录!';
  42.     }
  43. }
  44. //--------------------结束------------------
复制代码

二:在内容页模版最上面加:
  1. <?=user_SetCook('cookiepro',$navinfor[id],0,10);//cookie名称可以自己定别重复 ID 时间戳 数量 ?>
复制代码

三:在要显示的地方加一句:
  1. <?=user_GetCook('cookiepro','shop',10);//名称 数据表名 数量 ?>
复制代码

实例截图

实例截图
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-11-21 20:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表