您好我正在制作一个将游戏作为一个项目销售的网站,但我在计算游戏价格总和时遇到了问题
我有这个循环显示添加到篮子里的游戏
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);
答案 0 :(得分: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
都设置为新值。原始值未保存