创建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);
}