Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Platforma eCommerce i dodawanie produktów
Forum PHP.pl > Forum > PHP
reptilerex
Ostatnio natknąłem się w swoim łbie na pewne rozwiązanie, lecz nie mam bladego pojęcia jak je zrealizować.
Dlatego postanowiłem poszukać rady tutaj.

Załóżmy, że tworzymy platformę eCommerce.
Jest sobie moduł dodawania produktów do oferty produktowej.
Lecz teraz ważna kwestia, jest masa różnych branż na świecie i jak zapewnić uniwersalność ?

To znaczy że np księgarnia internetowa potrzebuje dodając produkt - takich pól jak ISBN, ilość stron, wydanie itp.
Natomiast Sklep IT, potrzebuje już tylko takich pól jak np: Pojemność, rok produkcji, producent.
Sklep z odzieżą już z kolei potrzebuje innych pól np: rozmiar, kolor

Czy macie jakieś pomysły jak to uniwersalnie rozwiązać?
Aby każda branża mogła korzystać z usług projektowanej platformy eCommerce ?

Dziękuje za wszelkie porady
szmerak
Na twoim miejscu to
Stworzył bym osobną tabele "pola" i do niej dodał kolumny
pole_id, kategoria_id(czyli tutaj np. księgarnia), nazwa_pola

Następnie drugą tabele wartości pól
value_id, pole_id, value_value

I wtedy dołączyłbym główną tabele z tymi tabelami poprzez kategoria_id i pole_id,
zgrupował je np. GROUP_CONCAT() ponieważ obie te tabele zwrócą więcej rekordów niż 1
explode i jazda dalej...

Albo też bez grupowania... wystarczy użyć tablic
Takie zapytanie zwróciło by ci więcej rekordów niż 1
to możesz to w łatwy sposób powsadzać do tablic

Sprawdzasz czy tablica o id_kategorii istnieje czyli
if(!isset($product[id_kategorii]))
jeśli nie istnieje to tworzysz taką i w niej zagnierzdżasz informację o produkcie
następnie w tej samej tablicy tworzysz drugą tablice "pola";
i wsadzasz tam informacje o polach...
gdy już drugie obkrążenie poleci to ominie tworzenie nowej tablicy ponieważ takowa o tym indexie już istnieje
i następnie pakujesz informacje o polach do niej, wytłumacze to obrazowo.

!isset{
array[$pro_id] |product name => $name| product_id => $id |itp... | pola => array(i tutaj pola w tej tablicy);
}else{
a tutaj juz pomijasz tworzenie tablicy i tylko pakujesz to tak
array[$pro_id][pola][] = array(...)
}

No i w taki sposób otrzymujesz wszystkie pola przypisane do przedmiotów...

Później żeby wyświetlić te pola potrzebujesz tylko zagnieździć pętle foreach w drugiej pętli foreach czyli

foreach($pro as $pp) {
foreach($pp[pola] as $pola){
no i tutaj wyswietlasz pola do niej
}
}

P.S wejdź sobie na bloga nospora http://www.nospor.pl o tam ma gdzieś podobny przykład wytłumaczony od a-z

Mam nadzieje że pomogłem smile.gif
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.