---
title: "Kundvagns problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/132995-kundvagns-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "johnkallioniemi"
published: "2005-08-19T13:11:44.000Z"
updated: "2005-08-20T18:04:28.000Z"
replies: 4
views: 379
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/132995-kundvagns-problem"
---

# Kundvagns problem

## #1 — johnkallioniemi, 2005-08-19T13:11Z

Nån som orkar hjälpa mig med en liten trivial grej. Jag vill kunna uppdatera antalet i kundvagnen för dom olika produkterna så om jag har exempelvis 5 produkter i kundvagnen så ska jag kunna uppdatera antalet för dom olika produkterna men jag lyckas inte :/

```php
<?
function viewcontent(){
echo "<form method=\"post\" action=\"index.php\">\n";

echo "<table width=\"100%\" border=\"0\">\n";
if(!empty($_SESSION['varukorg'])){
$sum = 0;
?>
&nbsp;&nbsp;Du har beställt följande:<br>
<tr>
    <td colspan="2"></td>
    <td><b>Antal</b></td>
    <td><b>Webbpris</b></td>
    <td><b>Totalt</b></td>
</tr>
<?
foreach($_SESSION['varukorg'] as $v){
if(!$v["amount"]==0){
$sum += $v["price"] * $v["amount"];
echo "<tr>\n<td>\n<input type=\"hidden\" name=\"id[]\" value=\"".$v["id"]."\">\n<input type=\"checkbox\" name=\"item\" value=\"".$v["id"]."\
echo "<td><input type=\"text\" name=\"amount\" value=\"".$v["amount"]."\" size=\"1\"></td>\n";
echo "<td>".$v["price"]."</td>\n";
echo "<td>".$v["price"]*$v["amount"]."</td>\n";
echo "</tr>\n";
                }
            }
?>
<tr>
    <td colspan="4" align="right">Summa inkl moms:</td>
    <td><?=$sum?></td>
</tr>
<tr>
        <td colspan="4"><input type="submit" name="changeitem" value="Uppdatera"><input type="submit" name="clear" value="Töm Kundvagn"><inp
</tr>
<?
    } else {
echo "&nbsp;Din kundvagn är tom";
}
?>
</table>
</form>
<?
exit;
    }
?>
<?
function clear(){
unset($_SESSION['varukorg']);
}
?>

<?
function delitem(){
$id=$_POST['item'];
$_SESSION['varukorg'][$id]["amount"]=0;
}
?>

<?
function changeitem(){
$id=$_POST['id'];
$amount=$_POST['amount'];
foreach($id as $item){

    if($_SESSION['varukorg'][$item]["amount"]=$amount){
    echo "";
    } else {
    $_SESSION['varukorg'][$item]["amount"]=$_SESSION['varukorg'][$item]["amount"]+$amount;
    }
}
}
?>
```

Permalänk: https://www.webforum.nu/p/132995

## #2 — johnkallioniemi, 2005-08-20T01:05Z

löste det men var tvungen att lägga ett formulär runt varje produkt i kundvagnen så här. Är det nån som vet och orkar visa mig hur jag ska kunna lösa detta på ett snyggare sätt för att dra ett formulär för varje produkt är bara dumt & fult

```php
<?
function changeitem(){
$id=$_POST['id'];
$amount=$_POST['amount'];
$_SESSION['varukorg'][$id]["amount"]=$amount;
}
?>
```

```
<form method="post" action="index.php">
<tr>
<td>
<input type="hidden" name="id" value="186">
<input type="checkbox" name="item"></td>
<td><a href="item.php?pid=186"><small><b>Maxtor 40GB UDMA133 7200rpm 8.5ms 2MB cache silent</b></small></a></td>
<td><input type="text" name="amount" value="1" size="1"></td>
<td>455</td>
<td>455</td><td><input type="submit" name="changeitem" value="Uppdatera" style="height:25px; width: 75px;"></td>
</tr>
</form>
<form method="post" action="index.php"><tr>
<td>
<input type="hidden" name="id" value="185">
<input type="checkbox" name="item"></td>
<td><a href="item.php?pid=185"><small><b>Maxtor 160GB SATA-150 7200rpm 8,5ms 8MB cache sile</b></small></a></td>
<td><input type="text" name="amount" value="1" size="1"></td>
<td>768</td>
<td>768</td><td><input type="submit" name="changeitem" value="Uppdatera" style="height:25px; width: 75px;"></td>
</tr>
</form>
```

Permalänk: https://www.webforum.nu/p/1661318

## #3 — Duffer, 2005-08-20T09:13Z

tja du kan ju t.ex. skapa ett fält för varje produkt och sätta id:t på produkten som namn på fältet med antalet produkter. sen loopar du igenom alla post-variabler och updaterar det som updateras ska. Har själv aldrig provat att loopa igenom resultaten men det ska gå (?).

Funkar inte det kan du ju sätta nummer på fälten med antal produkter sen skapar du ett hidden-fält som innehåller produktens id och namnet på fältet är det samma som namnet på antals-fältet.

mvh

Permalänk: https://www.webforum.nu/p/1661354

## #4 — johnkallioniemi, 2005-08-20T15:46Z

kod mässigt hur skulle det se ut? är så dålig på loopar osv, nån som skulle orka att visa mig ett exempel på hur det skulle fungera. helst med både html & php ;D

Permalänk: https://www.webforum.nu/p/1661415

## #5 — Duffer, 2005-08-20T18:04Z

Om du ska loopa igenom dina fält ska fälten heta din produkts id lämpligtvis dess serienummer eller motsvarighet. Sedan fältets "value" är ju antalet man vill ha.

\<input type="text" name="ko007muu"\>
\<input type="text" name="gris666noff"\>
osv..

sedan hanterar du post-variablerna som vilken array som helst (vilket det är)

foreach($\_POST as $serial =\> $value) {
      echo "$value $serial";
}

där har du lite att utgå ifrån

mvh

Permalänk: https://www.webforum.nu/p/1661437

---

Tråden på webben: https://www.webforum.nu/amne/php/132995-kundvagns-problem
