Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyswietlanie danych z roznych tabel
Forum PHP.pl > Forum > Przedszkole
athabus
Witam,

pisze maly skrypt - cos ala sklep internetowy. W sumie chcialbym jednak zrobic cos takiego, zeby mozna bylo wprowadzac rozne typy produktow (i je oczywiscie wyswietlac). W uproszczeniu -> zalozmy ze sklep sprzedaje opony oraz felgi. Wiadomo ze zupelnie inne cechy ma opona oraz felga. Dajmy na to ze opony sa zimowe i letnie a felgi stalowe i aluminiowe (tak dla uproszczenia przykladu).

Chcialbym aby w opisie produktow wyswietlaly sie rowniez te charakterystyczne informacje. Wymyslilem ze zrobie to tak. Stworze 3 tabele
1) produkty (id, typ, opis, cena itd) (pole typ przechowuje informacje czy ty opona czy felga)
2) felgi (id_produktu, material)
3) opony (id_produktu, przeznaczenie)

Nastepnie strona wyswietlajaca produkty bedzie dzialala wedlug nastepujacego algorytmu
1) pobierz info o produktach z tabeli produkty
2) jesli produkt to opona pobierz infomracje szczegolowe z tabeli opony i wyswietl (jesli felga to wiadomo)
3) powrot do punktu drugiego

Pytanie -> czy to jest optymalne rozwiazanie -> bylo nie bylo jesli na jednej stronie chce wyswietlic 20 produktow to musze wykonac 21 zapytan do bazy.
Czy jakos mozna to zoptymalizowac?

Dodam ze w rzeczywistym rozwiazaniu niektore produkty maja wiecej cech szczegolowych inne mnie, takze raczej dane szczegolowe musza byc przechowywane w osobnych tabelach.
mikess
według mie to bardziej optymalne byloby umiescic wszystko w jednej tabeli czyli

produkty (id, typ, opis, cena, itd,material,przeznaczenie)

przeciez jak bedziesz wstawial opone to nie musisz wypelniac pola material a jak bedziesz wpisywac felge to nie musisz wypelniac przeznaczenia. Przeciez jak odczytujesz z bazy to nie musisz wszystkich pol wyswietlac tylko te co chcesz smile.gif
athabus
Generalnie masz racje, ale sa 2 ale :
- w ostatecznym rozwiazaniu jest okolo 40 grup asortymentowych, kazda z nich ma 1 albo kilka cech charakterystycznych, wiec tabela bylaby ogromna
- puste pola w tabeli znacznie zmniejszaja jej wydajnosc

Trzeba tez pamietac o tym, ze powinna istniec mozliwosc latwego skalowania skrytpu, a rozwiazanie z jedna tabela troche to utrudnia.
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.