盛夏的果实 发表于 2021-7-19 09:07:34

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

本文实例讲述了帝国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;            //当前商品的数量
         $thisId = explode(",",$priceAndNumber);
         $thisId = $thisId;                  //当前商品的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建站有所帮助。

文档来源:脚本之家https://www.jb51.net/cms/253422.html
页: [1]
查看完整版本: 帝国CMS调用购物车商品数量和总价的方法