![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Cześć, zastanawiam się nad fajnym rozwiązaniem wykonania koszyka do sklepu internetowego. Próbuję zrobić to na tablicach wielowymiarowych oraz na sesjach. Czy to dobry pomysł? Myślałem, by zrobić to np. tak:
Kod Array ( [2] => Array // tutaj mam ID użytkownika z bazy ( [id_produktu] => 1 // tutaj mam ID produktu z bazy [ilosc] => 2 // tutaj mam ilość danego produktu [rodzaj] => 1 // tutaj mam rodzaj transakcji (sprzedaż nowej, używanej, kupno nowej, używanej) ) ) Tylko teraz mam pytanie, jak to dodać do sesji oraz jak to później odczytywać. No i czy operacje na tym będą dość łatwe (mam na myśli późniejsze dodawanie do bazy). Z góry dzięki za pomoc. -------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Przecież w sesji możesz zapisywac dowolne zmienne (proste i złożone), tak samo, jak w każdej innej zmiennej/tablicy. W czym konkretnie widzisz problem?
-------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Zastanawiam się jeszcze nad tym czy pierwszą dana ma być ID usera, czy może numer L.p. produktu w koszyku. No bo powiedzmy w koszyku będzie 5 produktów, to musi być 5 sesji chyba, czy jak, możesz podać przykład utworzenia takiej zmiennej sesyjnej, dodanie do niej produktu oraz wyczytanie z nich produktu?
-------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Myślę, że dobrym rozwiązaniem jest zagnieżdżenie:
ID klienta -> ID produktu ->dane produktu, które muszą być trzymane w sesji, czyli:
Dodanie produktu: Pobranie danych produktu (wyświetlenie zawartości koszyka):
-------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
OK, dzięki, pokombinuję z tym ;-)
A mam jeszcze jedno pytanie. W jaki sposób mam zrobić, aby skrypt wiedział, że ma być produkt1, produkt2 itd.? Skoro ktoś doda sobie np. monitor, później chodzi po stronie i dodaje np. głośniki, no to skąd skrypt ma wiedzieć, że monitor to produkt1, a głośniki to produkt2? Aha i czy jest sens ustawienia w sesji ID użytkownika? -------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#6
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Te identyfikatry to był przykład. Możesz sobie przecież dodać w tej tablicy ze szczegółami produktu co tylko chcesz: kategorię produktu, nazwę, symbol - no, co chcesz. A jako klucz w tej tablicy użyć ID produktu w bazie danych (tu przy?ładowo 3213):
Cytat Aha i czy jest sens ustawienia w sesji ID użytkownika? Jasne, że tak. W momencie np. zamawiania czegoś to ID pozwoli Ci w prosty sposób utworzyć zapytanie do tabeli z zamówieniami, gdzie ID klienta to klucz obcy tworzący relację pomiędzy tabelą z zamówieniami a tabelą z danymi klientów. Taka sama sytuacja wystąpi w momencie, gdy np. dodasz opcję zapamietywania stanu koszyka pomiędzy kolejnymi wizytami w sklepie. Wtedy do tabeli (przykładowo) 'zapamietane_koszyki' wstawiasz kolejne produkty jako rekordy, w których jedno z pól to ID klienta zapamiętane w sesji. Po ponownym zalogowaniu się, wyciągasz z 'zapamietane_koszyki' te produkty, które należą do klienta o danym ID, tworzysz w sesji tablicę z poprzednich postów i ładnie wyświetlasz klientowi koszyk.
Powód edycji: [blooregard]:
-------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Dziękuję za pomoc, ale jednak troszkę inaczej to zrobiłem ;-)
-------------------- > > > Tworzenie stron < < <
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 11:30 |