/如是COOKIE 里面不为空,则往里面增加一个商品ID
if (!empty($_COOKIE['SHOP']['history'])){

//取得COOKIE里面的值,并用逗号把它切割成一个数组
$history = explode(',', $_COOKIE['SHOP']['history']);
//在这个数组的开头插入当前正在浏览的商品ID
array_unshift($history, $id);
//去除数组里重复的值
$history = array_unique($history);
// $arr = array (1,2,3,1,3);
// $arr = array (1,1,2,3,3);
// $arr = array (1,2,3);
//当数组的长度大于5里循环执行里面的代码
while (count($history) > 5){
//将数组最后一个单元弹出,直到它的长度小于等于5为止
array_pop($history);
}
//把这个数组用逗号连成一个字符串写入COOKIE,并设置其过期时间为30天
setcookie('SHOP[history]', implode(',', $history), $cur_time + 3600 * 24 * 30);

}else{
//如果COOKIE里面为空,则把当前浏览的商品ID写入COOKIE ,这个只在第一次浏览该网站时发生
setcookie('SHOP[history]', $id, $cur_time + 3600 * 24 * 30);
}

//以上均为记录浏览的商品ID到COOKIE里,下面将讲到怎样用这样COOKIE里的数据

//取得COOKIE里的数据 ,格式为1,2,3,4 这样,当然也有可以为0
$history =isset ($_COOKIE['SHOP']['history']) ? $_COOKIE['SHOP']['history'] : 0;
//写SQL语句,用IN 来查询出这些ID的商品列表
$sql_history = "SELECT * FROM `goods` WHERE `goods_id` in ({$history})";
//执行SQL语句,返回数据列表
$goods_history = $db->getAll($sql_history);
if ($goods_history) {
$tpl->assign ('goods_history',$goods_history);
}

主要是通过操作数组来实现的,用到一些操作数组的函数。

最新文章

  1. JavaScript 随笔1
  2. 帝国cms实现会员注册之后根据所在会员组转向的方法
  3. BZOJ4503: 两个串
  4. Direct基础学习系列3 绘制+实例
  5. (二)iOS如何把所有界面的状态栏的字体颜色都设置为白色
  6. br与p标签区别
  7. Android Context作用
  8. BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
  9. HTTPClient和URLConnection核心区别分析
  10. Java如何判断字符串中包含有全角,半角符号
  11. IOS开发创建开发证书及发布App应用(七)——在iTunes创建填写应用基本信息
  12. 201521123042 《Java程序设计》第6周学习总结
  13. JavaScript系列----数据类型以及传值和传引用
  14. C++中const的用法
  15. EF to Sqlite
  16. 内省(Introspector)
  17. map映照容器
  18. mysql 去除重复 Select中DISTINCT关键字的用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,
  19. ajax----tomact服务器运行
  20. Python3.X 安装Scrapy

热门文章

  1. Datable 详解,及用法
  2. Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)
  3. 398. Random Pick Index
  4. svn 被锁定
  5. PAT 1026. Table Tennis
  6. in和exists的区别与SQL执行效率分析
  7. 使用 CAS 在 Tomcat 中实现单点登录
  8. js_面向对象编程
  9. Qt4--加密日记本(子例化QMainWindow文本加密解密)
  10. request对象方法详解