Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中向while循环中的单个变量添加值_Php_Mysql_Arrays_Session - Fatal编程技术网

如何在php中向while循环中的单个变量添加值

如何在php中向while循环中的单个变量添加值,php,mysql,arrays,session,Php,Mysql,Arrays,Session,我想将价格值添加到总价中,并对其进行响应 我的代码从会话中获取值,并进行mysql查询以从数据库表中获取信息。一旦我有了它,它会显示每行的价格。现在我要添加一个总价,但它不是获取所有价格的值,而是只获取最后一行的值。我希望总价格加上$price的所有值。 代码如下: <?php if (empty($_SESSION['cart'])) { echo "Nothing here";} else { $whereIn = implode(',', $_SESSION['cart']);

我想将价格值添加到总价中,并对其进行响应

我的代码从会话中获取值,并进行mysql查询以从数据库表中获取信息。一旦我有了它,它会显示每行的价格。现在我要添加一个总价,但它不是获取所有价格的值,而是只获取最后一行的值。我希望总价格加上$price的所有值。 代码如下:

<?php 
if (empty($_SESSION['cart'])) { echo "Nothing here";} else {
$whereIn = implode(',', $_SESSION['cart']);

$list_query = mysqli_query($con,"SELECT * FROM packages WHERE id IN ($whereIn)"); 
while($run_list = mysqli_fetch_array($list_query)){
$id = $run_list['id'];
    $price = $run_list['package_price'];  
    $title = $run_list['package_title'];  


    $total_price = '';
$total_price += $price ;




echo '<p> Product :',$title,' | Price: ',$price; ?> <a href="add_to_cart/remove_from_cart.php?id=<?php echo $id; ?>">Remove item</a></p> 

<?php 

}?>  

<p> Total Price: <?php echo $total_price;?></p>

<p> <button> Checkout </button></p>

<?php } ?>

总价:

结帐

Put
$total\u price=''超时循环

$total_price += $price;

每次迭代时,您当前正在重置
$total_price

您的总价变量在每次迭代中都会被重置。在循环外部初始化变量

$total_price = 0;

while($run_list = mysqli_fetch_array($list_query)){
    $id = $run_list['id'];
    $price = $run_list['package_price'];  
    $title = $run_list['package_title'];  
    $total_price += $price ;

    ...
}
试着这样做:

$total_price = 0;
while($run_list = mysqli_fetch_array($list_query)){
   $price = $run_list['package_price']; 
   $total_price += $price;
}

每次循环迭代时,您的总价均价

Move
$total\u price=''循环外。。。或者做
$price[]=$run\u list['package\u price']然后使用。此外,您当前的方法可能对SQL注入开放..多亏了大家。你的答案都是对的。经过几天的编码,也许我的大脑已经精疲力竭了。我不知道我怎么会错过这个新手的事情您应该研究使用准备好的语句和参数化查询。如果
remove\u from\u cart.php
SQL的行为与此类似,您将遇到问题。不,它在remove\u from\u cart.php中没有任何SQL语句,我只有从会话中删除数组值的代码。是的,您完全正确:)我怎么没有错过它?谢谢
$total_price ='';
while {
$total_price += $price
}