1. 程式人生 > >ThinkPHP--瀏覽歷史

ThinkPHP--瀏覽歷史

func 數組 key span 獲取 arr pub log ats

<?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(); } //寫入到對應的模板中 ?>

ThinkPHP--瀏覽歷史