Avatar billede krk Nybegynder
15. september 2005 - 18:12 Der er 5 kommentarer og
1 løsning

slet en vare i kurv (session)

Hej
Jeg har en eksempel på en indkøbskurv som virker okay, men jeg kunne godt tænke mig at rette lidt i den.
Bl.a sker der det når en bruger har købt 2 stk af den samme vare så har jeg ikke mulighed for at slette kun den ene vare. Som koden ser ud nu så slettes begge vare.
Jeg kunne godt tænke mig at når jeg trykkede på "slet" så blev der bare trykket 1 fra antal.

Jeg sender en stump af min kode med.
session_start();
$id  = $_GET['id'];
$slet = $_GET['slet'];

//sletter varen når jeg klikker "slet"
if (isset($slet)){
    $ialt -= $pris;
    unset($_SESSION["varer"][$slet]);
}

//printer det frem jeg har i min array
if (count($_SESSION['varer'])>0)
{     echo"<table border='1'><tr><td>Antal</td><td>Navn</td><td>Vægt</td><td>Pris</td><td>Slet</td></tr>";
    foreach ($_SESSION['varer'] as $key => $vare)

    echo "<tr><td> " . $vare['antal'] . "</td>";
    echo "<td> " . $vare['navn'] . "</td>";
    echo "<td align='right'> " . $vare['maengde'] . " kg </td>";
    echo "<td align='right'> " . number_format($vare['pris'],2). " kr </td>";
    $ialt += $vare['pris'] * $vare['antal'];

    echo "<td><A HREF=\"kurv.php?slet=" . urlencode($key) . "\"> Slet</A></td></tr>";
   
}
    echo "</table>";
}
Avatar billede barklund Nybegynder
15. september 2005 - 18:22 #1
Jeg tror bare det er:

if (isset($slet)){
    $ialt -= $_SESSION["varer"][$slet]['pris'];
    if ($_SESSION["varer"][$slet]['antal'] > 1) {
        $_SESSION["varer"][$slet]['antal']--;
    } else {
        unset($_SESSION["varer"][$slet]);
    }
}

:)

--
Morten Barklund
Avatar billede krk Nybegynder
15. september 2005 - 19:26 #2
det virker fint.
Er der en grund til at du skriver: $ialt -= $_SESSION["varer"][$slet]['pris']; istedet for bare: $ialt -= $pris;
Avatar billede jakobdo Ekspert
15. september 2005 - 20:16 #3
$pris er ikke sat nogen steder, derfor vælger barklund at trække den direkte ud af dit array.
Avatar billede barklund Nybegynder
16. september 2005 - 00:14 #4
What jakobdo said :)

Hvis du sagde havde trukket den ud af arrayet, så er det fint, men ovenstående var for lige at være sikker - jeg kunne jo ikke se, hvor $pris kom fra :)

--
Morten Barklund
Avatar billede krk Nybegynder
16. september 2005 - 16:15 #5
selvfølgelig, Det var mig der glemte at tænke mig om.
Tak for hjælpen
Avatar billede barklund Nybegynder
16. september 2005 - 17:48 #6
Tark for points ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester