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();
}

//写入到对应的模板中
 ?>

 

转载于:https://www.cnblogs.com/sunyisatan/p/7100772.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值