![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 0 Dołączył: 17.12.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Na początek podam ze strukturę bazy znajdziecie pod adresem: http://fallnet.sytes.net/siec-bud/export.jpg. Jesli chcecie poznac przykladowe dane to zapraszam pod adres: http://fallnet.sytes.net/siec-bud/index.php gdzie jest proste menu do wyswietlania danych z tabel co poznacie nizej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Mam problem z sformułowaniem zapytania w sql`u. Sprawa wygląda mniej więcej tak: Mam tabelę z nazwami cech (_cn), tablę z wartościami cech (_cw), tabelę z cechami przypisanymi do produktu (_cp) i tablę produkt (_prod). Strukturę i relacje znajdziecie w linku który podałem powyżej. Dla pewności zamieszczam sql`owe odpowiedniki:
I wszystko było by w porządku, gdyby nie to, że każdy produkt ma WIELE cech. tzn: Kod "SELECT _kat.kn, _cw.cw, _jm.jm_skrot, FROM _kat, _cw, _jm, _cp WHERE _prod.id_prod=_cp.id_prod"; (to zapytanie moze byc nie poprawne) wyswietli mi wszystko za wyjatkiem tego ze podana bedzie jedna cecha (a dokladnie jej wartosc).....czyli np: |kategoria|nazwa|jednostka miary| a (w zaleznosci od ilosci cech) chce otrzymac: |kategoria|nazwa|model|typ|wysokosc|itp......|jednostka miary| to chyba jest cos w stylu tabeli przestawnej? Kompletnie nie wiem jak to rozwiazac... nawet nie jestem pewien czy po prostu w samym php trzeba inaczej pobrac dane? Z góry dziękuje za (p)odpowiedzi pozdrawiam Marcin edit: a jeszcze jedno.. troche poteoretyzuje.. czy przy takiej strukturze tabeli, bede mial mozliwosc rozroznienia produktu i jego cech .. tzn czy nie powinienem dodac jeszcze jedenej tabeli(encji) z _cp.id_cp i _prod.id_prod? Macie jakies sugestie? Ten post edytował Fallout 10.02.2005, 19:47:03 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 0 Dołączył: 17.12.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat(popbart @ 2005-02-11 10:58:00) A po co ? (moim zdaniem się nie da) W php robisz explode('|',$tablica['cecha']) i masz wszystko oddzielone (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ok.. to zrob mi na tym sortowanie, dodawanie i usuwanie oraz wyszukiwanie rekordow to cie złotem obsypie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Post powyzej pokazuje ze chyba jednak sie da (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat IMHO lepiej (wydajniej) jest zrobic 2 osobne zapytania. Mialem kilka dni temu akurat ten sam "problem", bo robilem maly sklepik na zaliczenie i tez mialem uniwersalne cechy. Info o produkcie pobieram w 2 zapytaniach, jedno pobiera info z tabeli produktow, a drugie wszystkie cechy (lacznie z ich nazwami z tabeli slownika cech). A byłbyś taki miły i wkleił przykładowy kod? Ja juz sobie go przerobie odpowiednio (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Fallout 11.02.2005, 14:46:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 12:46 |