PHP总计列和简化会话

时间:2017-12-08 17:20:49

标签: php

我试图在价格表中列出一个专栏并且它不适合我。我已经查看了大量的解决方案,例如array_sum(),但它没有为我显示任何内容。这是一个购物车页面,我将post项目for发送到会话,然后在sessions循环中显示。我不确定我的session过于复杂或者是什么。这是我的postsession_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

非常感谢任何帮助!

2 个答案:

答案 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