2016-01-11 39 views
1

我想將價格值添加到total_price並將其回顯。如何在php中的while循環中將值添加到單個變量

我的代碼從會話中獲取值並使mysql查詢從數據庫表中獲取信息。一旦擁有它,它就會顯示每一行的價格。現在我要添加一個總價格,但不是取所有價格的值並添加它們,而是取最後一行的值。我希望total_price添加所有值$ 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 } ?> 
+0

移動'$ TOTAL_PRICE = '' TOTAL_PRICE均衡價格;'外循環... OR做'$ price [] = $ run_list ['package_price'];'然後使用http://php.net/manual/en/function.array-sum.php。此外,您目前的方法可能會對SQL注入開放.. – chris85

+0

感謝所有。你所有的答案都是對的。經過幾天的編碼,也許我的大腦被燒燬了。我不知道我是如何錯過這個新手的。 :) –

+0

你應該看看使用準備好的語句,參數化查詢。如果'remove_from_cart.php' SQL像這個SQL一樣行事,你將遇到問題。 – chris85

回答

4

$total_price = '';在while循環

+0

是的,你是絕對正確的:) 我怎麼沒想到它?謝謝 –

3
$total_price += $price; 

你每次迭代時正在重新$total_price

2

您的總價格變量在每次迭代時都會重置。初始化循環外部的變量。

$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 ; 

    ... 
} 
4

嘗試這樣的:

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

你的每一次循環迭代

相關問題