我目前正在制作一个以项目形式销售游戏的网站,但我在计算游戏价格总和时遇到问题。
我有一个循环,显示添加到篮子中的游戏。
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);
这不起作用的原因是因为
$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
都设置为新值。原值不保存