![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.12.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie co do struktury bazy. Czy potrzeba jakiegos dodatkowego klucza ID w tabelach Pr_... ( jak na rysunku) chodzi o placzenie produktu z np: kolorem.
Dany produkt moze miec przypisanych kilka kolorow, czy wystarczy taka tabela? idProdukt idKolor ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy taka tabela jak podałeś.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.12.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
dzieki
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Dodatkowo możesz w tabelach Pr_ zdefiniować klucz główny na obu kolumnach.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.12.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
a cos dokladniej mozesz powiedziec ... podac przyklad jaki to ma byc klucz ... jestem wtym zielony i robie to w ciemno
![]() A moze ktos mi podpowie jak zrobic zapytanie do bazy o wiecej niz jeden kolor ( na podstawie tej ilustracji) bo jak chcialbym dac zapytanie o kolor idKolor = 2 to jest o jeden, a jak ktos chcialbym wiecej kolorow to idKolor = 2 OR idKolor = 4 OR idKolor = 5 i tu problem ze klorow moze byc wiecej (definiowane przez administratora serwisu) i jak o nie wszytkie pytac? W jakiejs petli ? Dzieki za pomoc i wskazowki ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 5 Dołączył: 10.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Co do zapytania o kolory - musisz złączyć ze sobą tabele Produkt, Pr_Kolor i Kolor i wtedy utworzy ci się tabela, w której będziesz miał w wierszach produkt i wszystkie związane z nim kolory. Do złączania używa się JOIN. Popróbuj, są przykłady, powinieneś skumać bez problemu
![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.12.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A teraz rozumiem
![]() Wiec jeszcze pewnie powinienem dodac tez w Tabeli Produkt do idFirma, tak ? Dzieki ![]() Co do zapytania o kolory - musisz złączyć ze sobą tabele Produkt, Pr_Kolor i Kolor i wtedy utworzy ci się tabela, w której będziesz miał w wierszach produkt i wszystkie związane z nim kolory. Do złączania używa się JOIN. Popróbuj, są przykłady, powinieneś skumać bez problemu ![]() Chyba nie o to mi chodzilo ... o laczeniu tabel to wiem ... i umiem sobie polaczyc tak produkty by miec w jakich kolorach sa wlasnie za pomoca tabeli Pr_Kolor ... mi chodzi o cos "chyba" innego ... Jak zadac pytanie tzn napisac formule SELECT zeby dla dowolnej ilosci kolorow wybrac pasujace rekordy ... tak wiem ze po polaczeniu tym co napisales bede mial wszystkie i teraz chodzi o odfiltrowanie tylko tych produktow w tych kolorach co wybral użytkownik ... wiec bedzie potrzebne zapewne WHERE i ok tu moge sobie teraz recznie wpisac np: dwa kolory idKolor = 2 OR idKolor =3, ale jak np: bedzie w bazie 15 kolorow? i ktos wybierze z nich 10 ... to jak wtedy? Chodzi mi po glowie taki pomysl moze to byc rozwiazanie ... pobieram od uzytkownika jakie kolory wybral np: 1,2,4,6,8,11,15 i teraz za pomoca PHP Tworze cos takiego: $wybrane_kolory = (idKolor = 1 OR idKolor = 2 OR idKolor =4 ... idKolor = 15) i to za pomoca zmiennej podzucam do zapytania SELECT ? Takie rozwiazanie jest OK ? Czy mozna do zapytania SELECT wzucic czesc za pomoca jakiejs zmiennej $wybrane_kolory ? Dzieki za odpowiedz ![]() Ten post edytował shl 16.06.2010, 07:46:58 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
A teraz rozumiem ![]() Wiec jeszcze pewnie powinienem dodac tez w Tabeli Produkt do idFirma, tak ? Nie. W tej tabeli kluczem głównym jest kolumna idProdukt. http://pl.wikipedia.org/wiki/Klucz_g%C5%82%C3%B3wny Kod WHERE kolor IN (1,2,4,6,8,11,15) Gorzej jak będziesz chciał koniunkcję uzyskać... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:14 |