![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam kłopot ze stworzeniem zapytania. chcialem pobrac dane z 2 tabel
1 tabela "produkty" CODE CREATE TABLE `produkty` ( `id` int(11) NOT NULL auto_increment, `kategoria` int(11) NOT NULL, `nazwa` varchar(60) NOT NULL, `cena` float NOT NULL, `opis` text NOT NULL, `img` text NOT NULL, `kolory` text NOT NULL, KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 AUTO_INCREMENT=32 ; 2 tabela "kolory" CODE CREATE TABLE `kolory` ( `id` int(11) NOT NULL auto_increment, `nazwa_koloru` text NOT NULL, `plik` text NOT NULL, KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ; Chciałem żeby wyglądało to tak, że wyświetlam produkt o konkretnym id i do niego dodaje kolory z tabeli "kolory". W tabeli produkty `kolory` mam wpisane po przecinku id, które maja być pobrane z tabeli kolory `id`. Nie wiem zbytnio jak skonstruować zapytanie pobierające te dane. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 18 Dołączył: 6.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
A nie byłoby prościej utworzyć jeszcze jedną tabelę np
wyrzucić wtedy te kolory text z tabeli produkty i operować na nowej tabeli?? Chyba, że nie masz możliwości ingerencji w baze wtedy oczywiście pomysł odpada ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 2 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zac przeglądam Twoje tabele i widzę, że z bazami nie miałeś za dużo do czynienia. drzalek dał Tobie dobrą odpowiedź. Musisz utworzyć pośrednią tabelę, która będzie trzymałą klucze z produktów i kolorów.
Technicznie nazwya się to relacja n do m (n:m, wiele do wielu). Proponuje poczytaj sobie o relacjach (1:1, 1:n, n:m, klucz główny, klucz obcy) to są takie same podstawy jak w progrmowaniu np instrukcje warunkowe. Później wyciągasz z takiej tabeli wszystkie produkty albo produkty o danym kolorze. Mając klucze masz możliwość integracji bardzo łatwej między tymi 3 encjami. pozdrawiam munky |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
faktycznie, ucze się jeszcze tego wszystkiego, dzięki za podpowiedzi
a jeszcze jedno pytanie. Bo ogólnie to ma wyglądać tak, że wyświetlam szczegóły produktu opis, cena itd. no i dostępne kolory, które muszę wyświetlić jako obrazki. Nazwy plików w których mam obrazki są w tabeli "kolory" w kolumnie "plik". Czy to jest dobre rozwiązanie ? Jak można zrobić to najprościej ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 2 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Tak to jest dobre rozwiązanie. Produkty trzymasz w tabeli z produktami a kolory w oddzielnej. Do tego robisz relację n:m i sprawa załątwiona. Pozdrawiam munky |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 14:16 |