评论

收藏

[帝国CMS] 帝国CMS调用购物车商品数量和总价的方法

建站程序 建站程序 发布于:2021-07-19 09:07 | 阅读数:488 | 评论:0

本文实例讲述了帝国CMS调用购物车商品数量和总价的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:
<?php  
/**  
 * 根据Cookie值对购物车商品数量和总价格调用  
 */  
 require("class/connect.php");  
   
 $totalProducts = 0;  //购物车商品总数  
 $totalPrice = 0.0;    //购物车商品总价  
   
 //  |77,243|2!|77,237|3!  
 $cookieString = explode("!",$_COOKIE['zeuqcmybuycar']);  
   
 try{  
    //遍历商品  
   for($i = 0; $i < count($cookieString)-1; $i++){  
     $priceAndNumber = explode("|",$cookieString[$i]);  
     $thisNum = $priceAndNumber[2];      //当前商品的数量  
     $thisId = explode(",",$priceAndNumber[1]);  
     $thisId = $thisId[1];          //当前商品的ID  
     $thisPrice = this_price($thisId);    //当前商品价格  
       
     $totalPrice += $thisPrice * $thisNum;  //购物车商品总价累加  
     $totalProducts += $thisNum;        //购物车商品总数累加  
   }  
     
   echo "document.write("".displayResultJs($totalPrice,$totalProducts)."")";  //显示结果Js形式输出  
     
 }catch (Exception $e){  
   echo $e->getMessage();  
 }  
   
 /**计算商品价格*/  
 function this_price($id){  
   $connect = connectDB();  
   $query = "select price from phome_ecms_news where id = ".$id;  
   if(!$connect){  
    throw new Exception("数据库链接不成功,请检查!");  
   }  
   if(!$result = $connect -> query($query)){  
     throw new Exception("查询失败!");  
   }  
   $row = $result -> fetch_assoc();  
     
   return $row['price'];  
 }  
   
 /**链接数据库*/  
 function connectDB(){  
   global $phome_db_server,$phome_db_username,$phome_db_password,$phome_db_dbname,$phome_db_char;  
   $connect = new mysqli($phome_db_server,$phome_db_username,$phome_db_password,$phome_db_dbname);  
   $connect -> query("set Names ".$phome_db_char);  
   return $connect;
 }  
   
 /**显示结果Js*/  
 function displayResultJs($totalPrice,$totalProducts){  
   return "<div class='car'>您的购物车中有 {$totalProducts} 件商品,总计金额 ¥{$totalPrice}元。
点击查看   <a href='/e/ShopSys/buycar/'>结算&gt;&gt;</a> </div>";  
 }  
?>
希望本文所述对大家的帝国CMS建站有所帮助。

关注下面的标签,发现更多相似文章