ThinkPHP--浏览历史
<?php /** * session.php 浏览历史 * 1)需要在goods()查询出来的信息做判断。查询出来有信息时才能进行写入session。否则不写入 * 2)写对应的方法history * 3)在对应模板中显示出历史浏览 */ //对于goods()查询出来的信息做判断 public function goods(){ $goods_info = D( ' goods ' )->find( ' get.goods_id ' ); if($goods_info){//若获取该条信息成功 //调用history()方法 $this->history($goods_info); //var_dump(session('history')); } $this->assign( ' mbx ' , $this->mbx($goods_info['cat_id'])); $this->assign( ' goods ' , $goods_info); $this->display(); } //写对应的方法history() public function history($info){ //判断session里面有没有历史,若没有给空,有,将session赋给$row $row = session( ' ?history ' )?session('history'):array(); //将查询过的数据放在一个数组中,查询出来对应的商品的id新建一个数组,形成二维数组 $g = array(); $g['goods_name'] = $info['goods_name']; $g['shop_price'] = $info['shop_price']; $g['goods_id'] = $info['goods_id']; $row[$info[ ' goods_id ' ]] = $g; //若数据大于7条,则删除第一条 if(count($row)>5){//count记录总条数 $key = key($row);//key()从数组中返回当前指针所在的位置的键名 unset($row[$key]); } session('history' , $row); } //cat页面的浏览历史,注意浏览顺序。翻转函数array_reverse() public function cat(){ $cat_id = I('get.cat_id'); $this->assign('his' , array_reverse(session('history'))); $cats = D('gods')->filed(........); $this->assign('cat_goods' , $cats); $this->display(); } //写入到对应的模板中 ?>