我试图在价格表中列出一个专栏并且它不适合我。我已经查看了大量的解决方案,例如array_sum()
,但它没有为我显示任何内容。这是一个购物车页面,我将post
项目for
发送到会话,然后在sessions
循环中显示。我不确定我的session
过于复杂或者是什么。这是我的post
和session_start();
if( $_SERVER['REQUEST_METHOD'] == 'POST') {
$_SESSION['item'][] = array($_POST['item'], $_POST['price']);
}
?>
代码:
for
这是我的for($i=0; $i < count($_SESSION['item']); $i++){
$prices = $_SESSION['item'][$i][1];
$sum = 0;
$sum += $_SESSION['item'][$i][1];
print $sum;
?>
<tr>
<td class="left"> <?php print_r($_SESSION['item'][$i][0]) ?></td>
<td class="center"><?php echo "$ " . $_SESSION['item'][$i][1] ?></td>
</tr>
<?php
}
?>
<tr>
<td class="center">Total:</td>
<td></td>
</tr>
<?php
}
?>
</table><br>
循环代码部分:
yml
非常感谢任何帮助!
答案 0 :(得分:1)
使用以下内容替换当前的forloop:
你在循环中分配$sum=0;
所以每次执行循环时,你的$sum
变量将被赋值为零,因此你会失去它的价值。
旁注:您应该考虑在循环外打印和。
$sum = 0;
for($i=0; $i < count($_SESSION['item']); $i++){
$prices = $_SESSION['item'][$i][1];
$sum += $_SESSION['item'][$i][1];
print $sum;
?>
答案 1 :(得分:0)
首先,您的代码必须是这样的:
$sum = 0;
for($i=0; $i < count($_SESSION['item']); $i++){
$prices = $_SESSION['item'][$i][1];
$sum += $prices;
?>
<tr>
<td class="left"> <?php print_r($_SESSION['item'][$i][0]) ?></td>
<td class="center"><?php echo "$ " . $_SESSION['item'][$i][1] ?></td>
</tr>
<?php
}
?>
<tr>
<td class="center">Total: <?=$sum?></td>
<td></td>
</tr>
<?php
}
?>
</table><br>
如果你想从数据库中加总价格列,那么你可以使用mysql SUM函数 Reference for mysql SUM