第29次PHP作业--购物车

xiaoxiao2021-02-28  105

<?php namespace Home\Controller; use Think\Controller; class CartController extends Controller{      public function __initialize() {         //当购物车session不存在,初始化,避免之后直接使用出错               if (!isset($_SESSION['cart'])) {             $_SESSION['cart'] = array();         }     }     public function index(){        $sql=M('product');        foreach($_SESSION['cart'] as $val){              $info = $sql->field('title,price,thumb,repertory')->find($val['id']); //获取产品信息                 $lists[] = array_merge($val, $info); //合并,放到数组中(二维数组)                                $total +=$val['number'] * $info['price']; //计算总计                                      }              $this->list=$lists;        $this->total=$total;             $this->display('Cart/cart');     }     public function add(){          $numb=I('post.numb');         $pid=I('post.pid');          $pid=isset($pid)?I('post.pid'):$this->redirect('Product_news/product_news');               $list= M('product')->where('id='.$pid)->find();                       if(empty($_SESSION['uid'])){                       if(isset($_SESSION['cart'][$pid])){                    $_SESSION['cart'][$pid]['number']+= $numb;                         }else{             $_SESSION['cart'][$pid]=array(                 'id'=>$list['id'],                 'number'=>$numb,                 'date'=>time(),            );                                  }         }else{             $uid=$_SESSION['uid'];             if(M('cart')->where('uid='.$uid.'&&pid='.$pid)->find()){             M('cart')->where('uid='.$uid.'&&pid='.$pid)->save('number+='.$numb);             }else{             $data=array(                 'uid'=>$uid,'pid'=>$pid,'number'=>$numb             );             $this->uid=$uid;             M('cart')->data($data)->add();                          }         }         $this->redirect('Cart/index');     }     public function deletes(){        $pid=I('get.pid');       if(empty($_SESSION['uid'])){           unset($_SESSION['cart'][$pid]);       }else{       M('cart')->where('pid='.$pid.'&&uid='.$uid)->delete();       }           $this->success('删除成功',U('Cart/index'),3);     } }
转载请注明原文地址: https://www.6miu.com/read-54918.html

最新回复(0)