Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zrobić koszyk?
Cliassi
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


Witam,
czytałem masę artykułów i tutoraili jak zrobić koszyk oparty na sesji ale nie moge tego ogarnac. Jeśli zdecydowałem się na przysyłanie danych motodą GET to część kody będzie wygladać tak $_SESSION['cart']="$_GET[ilosc]"; z tym że chciałbym dodać wymiary i ID produktu. nie wiem jak to robić(IMG:style_emoticons/default/sad.gif) musze to apisać do tablicy wielowymiarowej ? Prosze o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


po pytaniu domyślam się, że jesteś dość początkujący, więc postaram się to uprościć trochę.

Przy produktach dajesz sobie np. takie linki:

  1. <a href="dodaj_do_koszyka.php?id=14" title=""></a>


po stronie php odbierasz ID produktu, który został wybrany
  1. $productId = (int)$_GET['id'];
następnie pobierasz sobie z bazy info do tego produktu i umieszczasz wszystko w tablicy np. takiej:
  1. $productInfo = array
  2. (
  3. 'id'=>3,
  4. 'title'=>'Telewizor 22 LCD',
  5. 'width'=>'80 cm',
  6. 'height'=>'42 cm',
  7. 'price'=>1299.99,
  8. 'currency'=>'PLN',
  9. 'amount'=>1
  10. );


potem dodajesz do sesji:
  1. $_SESSION['cart'][$productId] = $productInfo;


jeśli będziesz chciał usunąć produkt z koszyka to zrobisz:
  1. unset($_SESSION['cart'][$productId]);

a jeśli będziesz chciał zwiększyć ilość to:
  1. $_SESSION['cart'][$productId]['amount']++


To tylko banalny edukacyjny przykład, możesz też zamiast linku zrobić przycisk formularza gdzie od razu użytkownik mógłby podać ilość, wtedy odbierzesz dane z tablicy $_POST
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 02:55