-1

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

  1. $价格
  2. $特价
  3. $salesprice

当然还有产品数量。

数学的第一步是:

<?php

   $price_regular = $price * $quantity
   $price_special = $specialprice * $quantity
   $price_sales   = $salesprice * $quantity

?>

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

  1. 产品 A - 30 美元(美元价格)
  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'];
4

5 回答 5

0

我想在您的购物车中有几种产品,而您不知道有多少。您应该阅读有关PHP 数组PHP 循环的信息。

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

<?php
$totalprice = 0;

$prices=array(30,25,22);
foreach ($prices as $each)
  {
    $totalprice += ;
  }

echo $totalprice."<br />";
?>
于 2013-01-14T21:15:16.293 回答
0
<?php
$totalprice += $price_regular; 
$totalprice += $price_special;     
$totalprice += $price_sales;   
echo $totalprice;
?>
于 2013-01-14T21:04:19.333 回答
0

为什么不能这样计算呢?

<?php
$totalprice = $price_sales + $price_special + $price_regular; 
?>
于 2013-01-14T21:04:42.437 回答
0

由于您只添加$price_regular$totalprice. 你需要尝试这样的事情,将所有 3 个价格相加,

 $totalprice = $price_regular + $price_special + $price_sales;
于 2013-01-14T21:04:54.850 回答
0

从您的问题中,我了解到您需要添加 3 个数字,上面的所有答案都告诉您如何添加 3 个数字。

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

您有以下数据库结构表产品(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)
    }

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

于 2013-01-14T21:24:38.800 回答