Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zrobić koszyk?
Forum PHP.pl > Forum > PHP
Cliassi
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ćsad.gif musze to apisać do tablicy wielowymiarowej ? Prosze o pomoc
tehaha
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
Cliassi
i potem w view_cart.php
  1. $cart=$_SESSION['cart'];
  2. echo"$cart[1]";

bo nie działa
tehaha
fajnie jakbyś zapoznał się z podstawowymi operacjami na tablicach bo bez tego to raczej nie dasz rady...produkty z koszyka przechowywane są w tablicy wielowymiarowej, więc, żeby je wyświetlić trzeba to zrobić w pętli np:
  1. //zobacz jak wygląda struktura tablicy
  2. print_r($_SESSION['cart']);
  3.  
  4. $cart = $_SESSION['cart'];
  5.  
  6. foreach($cart as $product)
  7. {
  8. echo "Produkt:{$product['title']}, Cena: {$product['price']}, Ilość: {$product['amount']}</br>";
  9. }

Cliassi
Dzięki wielkie!!! przerobilem trochei tez działa ^^

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.