创建cookie我直接就写在了 V上
//历史浏览记录 $id = $_SERVER['QUERY_STRING']; //获取地址栏上商品id路径 if (!isset($_COOKIE['hisgory'])) { //检查cookie是否设置 第一次访问 $his[] = $id; //访问过的uri放到数组里 }else { $his = explode('|', $_COOKIE['hisgory']); $his[] = $id ; $his = array_unique($his); //移除数组中重复uri array_unshift($his, $id ); //开头插入 新的uri if (count($his)>5) { //数量大于5 就移除尾部uri array_pop($his); } } setcookie('hisgory',implode('|', $his)); //创建cookie //显示5条最新的历史记录 $glist = $goods->findHis($his);
model里
//循环查询5条最新的COOKIE历史记录 以goods_id /* param array $his //COOKIE uri记录 return sql语句查询的5条数据 */ public function findHis($his){ $in = array(); //存放goods_id if (!empty($his)) { //浏览记录不为空的情况 foreach ($his as $v) { //遍历uri $sub = explode('=', $v); //用=号分割uri中的goods_id $in[] = $sub[1]; //把goods_id 放入数组 } } $in = implode(',', $in); //把数组用逗号分割 能用in型代入sql //print_r($in); //拼接sql $sql = 'select goods_id,goods_name,shop_price,thumb_img,market_price from ' . $this->table . ' where goods_id in (' . $in . ') order by add_time limit 5'; return $this->db->getAll($sql); }