frankhaugen Skrevet 12. mai 2011 Del Skrevet 12. mai 2011 here we are again:P Jeg har en array som er i en session, denne er en handlevogn, hvordan er beste måten å lagre flere produktnummer i denne ved å bruke GET/POST method? Altså skal kundene kunne legge til 1 produkt for så å kunne legge til et til når man trykker på et annet et? jeg er litt usikker på metodikken på dette, kan noen vise et eksempel på dette, eller linke til en god tutorial? Jeg har funnet mye om MySQL handlevogner, og ajax-løsninger men ingen som bruker noe så logisk som en sasson array. takk for all hjelp! -frank Lenke til kommentar
eigan Skrevet 12. mai 2011 Del Skrevet 12. mai 2011 en session array er jo helt lik som andre arrays? // ID'er i en session array $_SESSION['cart']['stuff'] = array(1, 3, 4, 19, 430); Legge til // legger til i bunn $_SESSION['cart']['stuff'][] = 2; Så når det blir sendt en request, så adder du slik det ble gjort over.. Lenke til kommentar
frankhaugen Skrevet 12. mai 2011 Forfatter Del Skrevet 12. mai 2011 en session array er jo helt lik som andre arrays? // ID'er i en session array $_SESSION['cart']['stuff'] = array(1, 3, 4, 19, 430); Legge til // legger til i bunn $_SESSION['cart']['stuff'][] = 2; Så når det blir sendt en request, så adder du slik det ble gjort over.. Men vil dette være 'dynamiske' verdier? Jeg føler jeg ikke helt forstår arrays helt:P Altså slik du demonstrerte koden setter man bare faste verdier? eller er jeg helt på villspor? Lenke til kommentar
eigan Skrevet 12. mai 2011 Del Skrevet 12. mai 2011 Var bare eksempel.. // legg til fra post/get slik, hvor item_id er id'en som skal legges til $_SESSION['cart']['stuff'][] = $_POST['item_id']; // evt $_SESSION['cart']['stuff'][] = $_GET['item_id']; Lenke til kommentar
Occi Skrevet 13. mai 2011 Del Skrevet 13. mai 2011 (endret) Det eigan har postet er en greit start :-) Litt av mitt system: // legge til public function nyVare($vareNr, $antall=0) { if($this->vareFinnes($vareNr)) { if(empty($antall)) { $this->endreAntall($vareNr); } else { $this->endreAntall($vareNr, $antall); } } else { if(!empty($antall)) { $_SESSION['cart'][$vareNr] = $antall; } else { $_SESSION['cart'][$vareNr] = 1; } echo "<h4>Antall varer hittil:</h4>"; $this->visHandlevogn(); } } Her er altså f. eks $_SESSION['cart'][3] = 2, som vil si at det ligger 2 stk av varen med id 3 i handlevognen. Det er kanskje litt ineffektivt om man har veldig høye vareNr, men det kommer jeg ikke til å få til mitt system, så det er ikke noe problem. Dette er bare en liten bit av et større klassesystem, men du får kanskje en idé om hvor du kan starte. Merk at når jeg skriver $antall=0 i parameteret funksjonen nyVare() så betyr det at jeg ikke trenger å bestemme denne. Dette kalles overloading. Kommer ikke til å gi bort hele koden min, da det er brukt til et skoleprosjekt, beklager :-) Her er i alle fall funksjonene jeg har i koden min ppd, får se om jeg kommer til å trenge fler når jeg kommer til stykket, men kanskje det vil hjelpe deg uansett public function nyVare($vareNr, $antall=0) public function fjernVare($vareNr) private function vareFinnes($vareNr) private function endreAntall($vareNr, $antall=0) public function slettHandlevogn() public function visHandlevogn() Endret 13. mai 2011 av Occi Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå