Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Warianty, połączenie w MYSQL
Forum PHP.pl > Forum > Przedszkole
denis95x
Cześć smile.gif

Planuję wziąć się za wariantowość produktów, ale nie mam pomysłu jak się za to zabrać.
Może ktoś już coś takiego robił i podsunie (naprowadzi) jakiś pomysł?

Dla przykładu - najprościej:

Mamy produkt w sklepie XYZ
Produkt występuje w:
KOLORACH: czerwony, zielony, czarny
ROZMIARACH: S, M, L, XL, XXL

I jak teraz połączyć to i definiować ceny dla każdego z wariantów.
np: czerwony + S = 14,00
zielony + S = 15,00
czerwony + XL = 16,00

Najlepiej definiować ceny? Czy ustalić jakoś jako "wariant = cena X+Y+Z" - gdzie X to cena bazowa produktu a Y i Z to cena wariantu (dodaje - sumuje)

Ktoś jakiś pomysł? Doradźcie! smile.gif
trueblue
Tabela: id_produkt, id_kolor, id_rozmiar. Jeśli cena produktu jest ustalana indywidualnie dla każdego produktu na podstawie kombinacji koloru i rozmiaru, to tu dodatkowe pole: cena.
Jeśli kolor i i rozmiar powodują zwyżkę ceny identyczną dla każdego produktu, to ją (zwyżkę) zawierasz w tabelach, które podałeś.
denis95x
Czyli dla każdego wariantu po kolei ustalać ceny ?

Jesli kolorów będzie 5 a rozmiarów 3 -> tworzymy 15 wierszy w mysql ?
przykład:
1. czerwony XS - 10,00
2. czerwony S - 11,00
3. czerwony M - 12,00
4. zielony XS - 10,50
5. zielony S - 11,50
6. zielony M - 12,50

Nie ma prostszego rozwiązania? facepalmxd.gif sciana.gif

A co jesli dojdzie nam do koloru i rozmiaru kolejny wariant? np: opakowanie ?
trueblue
A czego oczekujesz skoro ceny zależne są od wariantów?
Podałem Ci też drugie rozwiązanie. I obydwa są najprostsze.
denis95x
Ciekawe jak mają to rozwiązane w przypadku wiekszej ilości wariantów.

nasunęło mi się na myśl - np. drukarnia internetowa: https://www.drukomat.pl/wizytowki
mrk9109
Piszesz swoje ? Czy używasz jakiegoś gotowego systemu ?
Pyton_000
Kiedyś w jednym z systemów używaliśmy czegoś takiego że produkt bazowy miał swoją cenę np. koszukla polo biała 100zł. Potem każdy z rodzajów wariantów np. kolor, rozmiar itd. miał wartość +/- xxx zł np. kolor czerwony +9zł do ceny bazowej. Rozmiar XXXL +10zł i tak finalnie koszulka polo czerwona XXXL kosztowałą 119zł
Tomplus
Niestety jeżeli chcesz mieć możliwość życia wariantów to jest to najlepsze rozwiązanie.

tabela_produkt : {id, nazwa, idKategorii}
tabela_atrybut : {id, idProduktu, typAtrybutu, wartosc}

w tabeli atrybut możesz mieć atrybuty związane z ceną, kolorem, rozmiarem

Można to dalej rozszerzać np.:

tabela_grupa_produktow : {id, nazwa, idKategorii}
a
tabela_produkt : {id, idGrupyProduktow}

I tak dalej...
trueblue
Cytat(Pyton_000 @ 14.05.2019, 08:08:29 ) *
Kiedyś w jednym z systemów używaliśmy czegoś takiego że produkt bazowy miał swoją cenę np. koszukla polo biała 100zł. Potem każdy z rodzajów wariantów np. kolor, rozmiar itd. miał wartość +/- xxx zł np. kolor czerwony +9zł do ceny bazowej. Rozmiar XXXL +10zł i tak finalnie koszulka polo czerwona XXXL kosztowałą 119zł


Cytat(trueblue @ 13.05.2019, 22:20:06 ) *
Jeśli kolor i i rozmiar powodują zwyżkę ceny identyczną dla każdego produktu, to ją (zwyżkę) zawierasz w tabelach, które podałeś.

Pyton_000
Ojtam ojtam smile.gif
igusiek
Miałem podobny problem i rozwiązałem go jak trueblue napisał.
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-2024 Invision Power Services, Inc.