Webshop, pris bliver større

Tags:    php

Hey.

Nu er det ikke meningen jeg vil spamme Udvikleren med indlæg :)

Jeg er i gang med at lave en webshop. Problemet er at, hvis jeg trykker på en submit knap
bliver prisen ved med at fordoble sig. Meningen var jo bare at den skulle regne total prisen ud :)

Kan i se hvad der er galt? Totalprisen bliver gemt i $totalprice;

------------------------------------------------------------
------------------------------------------------------------

if(isset($_SESSION['cart'])){
echo "<form action='' method='post'>";
//Henter ud hvad der er i indkøbskurv//
dbcon();
$sql="SELECT * FROM `bella_products` WHERE `id` IN (";

foreach($_SESSION['cart'] as $id => $value) {
$sql.="'".$id."',";
}

$sql=substr($sql, 0, -1).")";
$query=mysql_query($sql) or die(mysql_error());

while($row=mysql_fetch_array($query)){
$subtotal=$_SESSION['cart'][$row['id']]['quantity']*$row['price'];
$totalprice+=$subtotal;
?>

<div class="kurv_antal">
<input type="text" name="quantity[<?php echo $row['id'] ?>]" value="<?php echo $_SESSION['cart'][$row['id']]['quantity'] ?>" class="quantityinput" />
</div><!-- Ender kurv_antal -->

<div class="kurv_beskrivelse"><p><?php echo $row['name']; ?></p></div>
<div class="kurv_pris"><p><?php echo money($subtotal); ?></p></div>
<? }

echo $totalprice;
?>

<div class="kurv_submits">


<span><input type="hidden" name="totalprice" value="<?php echo $totalprice;?>" /></span>
<span><input type="submit" name="update" value="Opdater" /></span>
<span><input type="submit" name="pay" value="Betal" /></span>
<span><input type="submit" name="del" value="Tøm Kurv" /></span>
</form>

</div>

<?
dbclose();
}else{

}
------------------------------------------------------------
------------------------------------------------------------

På forhånd tak.

Venlig Hilsen
Simon



Indlæg senest redigeret d. 11.07.2010 15:58 af Bruger #10119
Definer $totalprice=0; et eller andet sted øverst i dokumentet - ikke sikker på om det virker ;)



Kan ikke helt gennemskue dine koder. Men syntes det ligner du gør det meget sværere end det virkelig er. Kan du ikke bare bruge SUM() funktionen i SQL?



Det virker nu - lavede det på en lættere måde, da som Theis siger, jeg har overkill'ed det lidt. Takker for svar btw :)



t