Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 510
Hei,

jeg har laget en handlekurv, hvor du kan plukke fra en database. Varene legges i arrays.

Kode

  <? foreach($_SESSION['varervalgt_varenr'] as $u => $iu) { 
<input type="hidden" id="varenr[<? echo $u; ?>]" name="varenr[<? echo $u; ?>]" value="<? echo $varenavn['varenr']; ?>
på den måten der, gadd ikke slenge med hele koden. Det fungerer fint, men nå er det sånn at man kan legge til flere av samme vare, og det blir da kluss med antall ovenfor lageret..
Jeg henter opp verdiene fra handlekurven igjen på denne måten

Kode

$antall_utlegg_nr = sizeof($_POST['varenr']);
//Looper opp alle varene
for($r = 0; $r <= $antall_utlegg_nr; $r++) {	
//Henter opp tilhørende varenr
$varenr = $_POST['varenr'][$r];
//Henter opp tilhørende antall_på lager
$antall = $_POST['antall'][$r]; }
Men nå blir det kluss, for hvis jeg har 4 varer, velger 5 varer i en av postene, så får man feilmelding om at det ikke er nok varer på lager. Men om man nå velger to like varer, 2 i den ene og 3 i den andre har jeg valgt 5 varer, men det klarer jeg ikke å fange opp...

Noen som vet hvordan jeg kan løse dette problemet?
Sist endret av fredrikweb; 5. mai 2009 kl. 21:51.
▼ ... over en måned senere ... ▼
z0p
uʍop ǝpısdn
z0p's Avatar
Jeg er ikke helt sikker på om jeg er med på hva du vil her, eller hvordan dette faktisk foregår, men det burde da enkelt la seg løse ved å bruke varenummer som index i array?

altså noe slikt som:

Kode

$kurv = $_SESSION['handlekurv'];

$varenummer = $_POST['varenummer'];
$antallBestilt = $_POST['antall'];

$antallLager = database('sql');

if(!isset($kurv[$varenummer])){
    $kurv[$varenummer] = array('antall' => 0);
}

if(antallBestilt + $kurv[$varenummer]['antall'] <= $antallLager){
    $kurv[$varenummer]['antall'] += antallBestilt;
} else {
    print 'Ikke nok varer på lager';
}