Vet ikke helt hvor lett det blir å forklare problemet.. men uansett, dette er funksjonen som viser hvordan man legger til i handlekurven, og den som viser den:
Og koden som viser handlekurven:
Problemet mitt er da... jeg skal nå håndtere de verdiene som er lagt til i handlekurven for å så laste opp de verdiene i en egen tabell. Hva vil her være den smarteste måten å løse det på? Session-variabelen her er jo kun et ID-tall... har i databasetabellen registrert bøkene som ligger der med et ID-nummer, for å skille mellom de forskjellige. Så hvis jeg typ har lagt til 2 forskjellige bøker, blir da
lik 1,2 hvis jeg hadde lagt til tre av samme bok, og en av en annen ville jeg da fått 1,1,1,2 f.eks.
Noen som har noen ideer til hvordan jeg kan gå fram her?
Kode:
function leggTilKurv()
{
$handlekurv = $_SESSION['handlekurv'];
if (!$handlekurv)
{
return '<p>Du har ingen gjenstander i <a href="handlekurv.php"> handlekurven</a></p>';
} else {
//Parser handlekurv session-variabelen
$varer = explode(',',$handlekurv);
$s = (count($varer) > 1) ? 's':'';
return '<p>Du har <strong> '.count($varer). '</strong> ting i <a href="handlekurv.php">handlekurven</a></p>';
}
}
Og koden som viser handlekurven:
Kode:
function visHandlekurv()
{
global $db;
$total = 0;
$handlekurv = $_SESSION['handlekurv'];
if ($handlekurv) {
$varer = explode(',',$handlekurv);
$innhold = array();
foreach ($varer as $vare) {
$innhold[$vare] = (isset($innhold[$vare])) ? $innhold[$vare] + 1 : 1;
}
$utskrift[] = '<form action="handlekurv.php?action=oppdater" method="post" id="handlekurv">';
$utskrift[] = '<table>';
$utskrift[] ='<tr><th></th><th>Tittel</th><th>Pris på vare</th><th>Antall</th><th>Totalpris</th>';
foreach ($innhold as $id=>$qty) {
$sql = 'SELECT * FROM handlekurv WHERE ID = '.$id;
$result = $db->query($sql);
$row = $result->fetch();
extract($row);
$utskrift[] = '<tr>';
$utskrift[] = '<td><a href="handlekurv.php?action=slett&id='.$id.'" class="r">Fjern</a></td>';
$utskrift[] = '<td><i>'.$Vare.' av '.$Fornavn.'</i></td>';
$utskrift[] = '<td>'.$Pris.' kr</td>';
$utskrift[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="1" maxlength="3" align=rigth/></td>';
$utskrift[] = '<td> '.($Pris * $qty).' kr</td>';
$total += $Pris * $qty;
$utskrift[] = '</tr>';
}
$utskrift[] = '</table>';
$utskrift[] = '<div><p>Totalpris: <strong>'.$total.'</strong> kr</p>';
$utskrift[] = '<button type="submit">Oppdater vogn</button>';
$utskrift[] = '</form></div>';
$utskrift[] = '<form action="visvarer.php"?action=visvarer" method="post" id="handlekurv">';
$utskrift[] = '<button type ="submit">Fullfør handel</button>';
} else {
$utskrift[] = '<p>Handlekurven din er tom.</p>';
}
return join('',$utskrift);
}
Problemet mitt er da... jeg skal nå håndtere de verdiene som er lagt til i handlekurven for å så laste opp de verdiene i en egen tabell. Hva vil her være den smarteste måten å løse det på? Session-variabelen her er jo kun et ID-tall... har i databasetabellen registrert bøkene som ligger der med et ID-nummer, for å skille mellom de forskjellige. Så hvis jeg typ har lagt til 2 forskjellige bøker, blir da
Kode:
print_r($_SESSSION);
Noen som har noen ideer til hvordan jeg kan gå fram her?