通过将所有商品的价格乘以数量来计算总计

问题描述 投票:0回答:1

我目前正在制作一个以项目形式销售游戏的网站,但我在计算游戏价格总和时遇到问题。

我有一个循环,显示添加到篮子中的游戏。

cart.php

<?php
    $count = 0;
    while ($count < $numrow)
    {
    $row = $results -> fetch_assoc();
    extract($row);
    echo"<div>";
    echo"<div class='recommended_games'>";
    echo "<img src='images/".$gameIMG."' />";
    echo "</div>";
echo '<div class="price_tag">';
echo '<div class="price_tag" name="price" method="POST">£'.$gamePrice. '</div>';
echo'</div>';

echo '<div id="update_form"><form action="updatebasket.php" method="POST" name="updateform">';
echo '<select name="quantity" id="quantity" />';
echo      '<option value="1">1</option>';
echo      '<option value="2">2</option>';
echo      '<option value="3">3</option>';
echo      '<option value="4">4</option>';
echo      '<option value="5">5</option>';
echo      '</select>';
echo '<input type="hidden" value="'.$gameID.'" name="gameid" id="gameid" />';
echo '<input type="submit" value="update" />';
echo '</form>';
echo '<div class="quantity_update">';
echo '<form action="remove_item.php" method="POST">';
echo     '<input type="hidden" value="'.$gameID.'" name="gameid" id="gameid" />';
echo     '<input type="submit" value="Remove Item"  />';
echo '</form>';
echo '</div>';
echo '</div>';             
                        
                        
                            
 echo"<img class='box1' src='Images/Grey-Banners.png' />";
 echo"</div>";
 $count = $count + 1;   
                        
 }     
 echo '<div id="delete_all">';
 echo '<form action="delete_cart.php" method="POST">';
 echo    '<input id="hide_button" type="submit" value="Clear All"  />';
 $a=array($gamePrice);
 echo array_sum($a);
 echo '</form>';
 echo '</div>';
 ?>

这是我试图计算总价的地方

$a=array($gamePrice);
echo array_sum($a);
php sum resultset multiplication cumulative-sum
1个回答
2
投票

这不起作用的原因是因为

$gamePrice
从来都不是数组(除非您没有提供所有代码)。在循环中,它被设置为一个新值,循环后仅存储最后一个值。

根据代码中的一些提示,我猜这是一个购物车,并且您正在循环浏览购物车。获得总数的简单方法如下:

$total = 0;
while( $itemsThatWeLoop){
    // Some code here
    $total+= $gamePrice*$quantity;
}

您添加一个随产品价格递增的变量


解释 while-only-last-value-saved:

$i=0;
while( $i<=10){
    $i= $i+1;
}
echo $i; 

将给出 10。所有其他迭代

$i
都设置为新值。原值不保存

© www.soinside.com 2019 - 2024. All rights reserved.