![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 11 Dołączył: 24.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio klient sobie zażyczył sklep internetowy z ubrankami dla dzieci, w którym cena pojedynczego produktu uzależniona jest od rozmiaru ubranka. Czyli ktoś sobie wrzuca do koszyka jakiegoś rampersa i wybiera za pomocą select przykładowo rozmiar 92, kolor niebieski i automatycznie cena za taką przyjemność wynosi 10 zeta. Następnie wybiera ten sam produkt, z tą różnicą, że rozmiar jest 90, kolor biały, a cena 9 zeta.
Panowie, kieruję zatem do Was takie pytanko: jak to ugryźć od strony kodu? Po dłuższym zastanowieniu doszedłem do wniosku, że w bazie danych tabela o nazwie, np. towar miałaby m.in. pola: kolor, rozmiar, cena (wszystkie typu varchar) a w nich lista atrybutów. Później w PHP wystarczyłoby użyć explode i jakoś sensownie połączyć je ze sobą. Tak bym to widział. A może istnieje jakiś prostszy sposób? Proszę o jakieś wskazówki.
Powód edycji: [Spawnm] poprawiłem tytuł.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Można i tak.
Czasem dla łatwje modyfikacji można stosowac format INI np kolumna "price" Kod m=19.00
l=21.00 xl=23.00 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
Jeśli cena rośnie w prost proporcjonalnie do rozmiaru (np. rozmiar 10 - 2zł, rozmiar 20 - 4zł), to w bazie zapisujesz w rozmiar najmniejszy możliwy rozmiar a w cena cenę tego rozmiaru.
Jeśli nie to możesz zrobić sobie tablicę, którą wrzucisz do bazy danych za pomocą serialize(), a potem jak chcesz użyć danych używasz unserialize() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A. Druga postac normalna baz danych i dwie tabele:
rzeczy (int ID, varchar NAZWA...) rozmiary (int ID, int ID_RZECZY, int ROZMIAR, decimal CENA) Zalety: latwo znajdziesz np. ubrania danego rozmiaru nabierzesz dobrych nawykow Wady: mniej wygodne przy tworzeniu zapytan B. Serializacja tabeli asocjacyjnej, gdzie indeksy sa rozmiarem a wartosc cena, np.:
Zalety: wzglednie wygodne do wyswietlenia widoku produktu, prosta konstrukcja bazy danych Wady: WSZYSTKO inne |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 11 Dołączył: 24.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za szybki odzew. Rozważę powyższe propozycje. Ma ktoś jeszcze jakiś inny pomysł?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 14:22 |