如果有一个以上的价格,如何使总和(总)php


How to make the summ (total) with php if there is more than one price?

简单点说,假设我有一个购物车,有三个不同的价格:

  1. 美元价格
  2. specialprice美元
  3. salesprice美元

当然有产品数量。

数学的第一步是:
<?php
   $price_regular = $price * $quantity
   $price_special = $specialprice * $quantity
   $price_sales   = $salesprice * $quantity
?>

让我做一个简单的例子,在购物车中添加3个产品后:

  1. 产品A - 30美元($price)
  2. 产品B - 25美元($特价)(旧价格为30美元)
  3. 产品C - 22$ ($salesprice)(旧产品为35$)

总和应该是77美元。

这是我想从我的代码得到的结果。

但如何?

我试着这样做:

<?php
    $totalprice = $totalprice + $price_regular; 
?>

,但它只给我正常价格的总和。我需要的代码来计算完全在我的简单的例子与产品A - B - C

这是我的文件中的真实代码:

$totalprice = 0;
                $totalarticles = count($itemsonpage);
                for ($i=0;$i<=(count($itemsonpage) - 1);$i++){
                $productslist[$i]['id'] = $itemsonpage[$i]['productid'];
                $products->ShowByID($itemsonpage[$i]['productid']);
                $productslist[$i]['code'] = $products->code;
                $products->ShowLangDataByID($products->id,$chooselang);
                $productslist[$i]['name'] = $products->name;
                $productslist[$i]['quantity'] = $itemsonpage[$i]['quantity'];
                $productslist[$i]['price'] = $itemsonpage[$i]['price'];
                $productslist[$i]['specialprice'] = $products->specialprice;
                $productslist[$i]['salesprice'] = $products->salesprice;
                $productslist[$i]['allprice'] = $products->price * $productslist[$i]['quantity'];
                $productslist[$i]['allprice2'] = $products->specialprice * $productslist[$i]['quantity'];
                $productslist[$i]['allprice3'] = $products->salesprice * $productslist[$i]['quantity'];

                $totalprice = $totalprice + $productslist[$i]['allprice'];
<?php
$totalprice += $price_regular; 
$totalprice += $price_special;     
$totalprice += $price_sales;   
echo $totalprice;
?>

为什么不能这样计算呢?

<?php
$totalprice = $price_sales + $price_special + $price_regular; 
?>

由于您只添加$price_regular,因此只能在$totalprice中获得它。你需要试着这样做,把这三个价格加起来,

 $totalprice = $price_regular + $price_special + $price_sales;

假设您的购物车中有几种产品,但您不知道有多少。你应该多读一些PHP数组和PHP循环的知识。

然后,要使用数组和循环来执行求和,可以使用如下操作:

<?php
$totalprice = 0;
$prices=array(30,25,22);
foreach ($prices as $each)
  {
    $totalprice += ;
  }
echo $totalprice."<br />";
?>

从你的问题中我明白你需要加3个数字,上面所有的答案都告诉你如何加3个数字。

我想你实际上问错了问题,所以我会给你一个错误的答案,也许这是你想要的。

数据库结构如下表product (id, name, price_sales, price_special, price_regular)

price_sales和price_special可以为0,表示该产品既不打折也不特价。

要获得总数,您必须根据id对数据库中的每个产品执行选择,并获得一个具有列作为属性的对象。你的代码应该是这样的:

    $products = function_that_gets_the_products_from_the_db();
    foreach($products as $product) {
        $total_cart += $product->price_sales ? $product->price_sales : ($product->price_special ? $product->price_special : $product->price_regular)
    }

此代码检查产品是否在销售,如果是,则使用该价格,如果不是,则检查是否在特价,如果是,则使用该价格,否则使用正常价格。