วันพฤหัสบดีที่ 27 มิถุนายน พ.ศ. 2556

Yii Shoping Cart2

public function actionAddToCart($ProductID) {
         
           $SessionID = Yii::app()->session->sessionID;
           $IPadd = Yii::app()->request->userHostAddress;
           $Cart = New Cart();
           $ProductID = $_GET['ProductID'];
         
            $Cart->ProductID = $ProductID;           
            $Cart->SessionOrder = $SessionID;
            $Cart->OrderIP = $IPadd;
            $Cart->OrderDate = date('Y-m-d H:i:s');
         
         
           $chkOrderList = Yii::app()->db->createCommand()
                ->select()
                ->from('cart')
                ->where('ProductID = :ProductID and SessionOrder = :SessionID', array(':ProductID' => $_GET['ProductID'], ':SessionID' => $SessionID))
                ->queryScalar();

        if(!empty($_GET['ProductID'])){
           
                //Loop ตราจสอบข้อมูลการสั่งซื้อ
              if($_GET['ProductID'] = $chkOrderList['ProductID'] and $SessionID = $chkOrderList['SessionOrder']  ){
                 // Update ข้อมูลกรณีที่มีการสั่งซื้อสินค้า รหัสนี้แล้วจาก Session เดียวกัน
                  $Cart = Cart::model()->findBypk(array('ProductID' => $ProductID, 'SessionOrder' => $SessionID));
             
                 
              }
             
            $Cart->Qty = $Cart->Qty + 1;
            if($Cart->save()){
             
               $this->redirect(array("site/OrderList"));
          }
                    }
            }

Yii Basic Shoping Cart

#MySQL DataDase

CREATE TABLE `cart` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `ProductID` varchar(10) NOT NULL,
  `Qty` varchar(10) NOT NULL,
  `SessionOrder` varchar(100) NOT NULL,
  `OrderIP` varchar(100) NOT NULL,
  `OrderDate` date NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ProductID` (`ProductID`,`SessionOrder`,`OrderIP`,`OrderDate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


#Controller - > ActionCart

public function actionAddToCart($ProductID) {
         
           $SessionID = Yii::app()->session->sessionID;
           $IPadd = Yii::app()->request->userHostAddress;
           $Cart = New Cart();
         
      
          if(!empty($_GET)){
             
          $ProductID = $_GET['ProductID'];
           $Cart->Qty =  1; 
           $Cart->ProductID = $_GET['ProductID'] ;
           $Cart->SessionOrder =  $SessionID ;
           $Cart->OrderIP =  $IPadd;
           $Cart->OrderDate = date('Y-m-d H:i:s');   
      
if($ProductID = '5600003' and $SessionID = '83b96840542c1b43553462272a089258' ){
                 // $Cart = Cart::model()->findByPk(2);
                 
                  $Cart = Cart::model()->findByAttributes(array('ProductID' => '5600003', 'SessionOrder' => '83b96840542c1b43553462272a089258'));
                  $Cart->Qty =  $Cart->Qty+1; 

              }

          if($Cart->save()){
               $this->redirect(array("site/OrderList"));
          }
           
                    }
         
        }