Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pole z różną ilością słów
ultramega-ok
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 31.01.2005
Skąd: stąd :)

Ostrzeżenie: (0%)
-----


Jestem dosyć zielony w MySQL-u, więc mam takie pytanie:
chcę zrobić bazę przechowującą informacje o rysunkach (tytuł, data, itp. ), a jedną z nich ma być słowo określające kategorię do której należy rysunek, np. krajobraz, portret. Problem mam taki, że niektóre rysunki będą należeć do kilku kategorii jednocześnie (czyli w czasie wyszukiwania ta sama praca może zostać wyświetlona dla różnych słów) i nie wiem jak to rozwiązać: jak w jednym polu o nazwie np. "kategoria" przechowywać kilka słów, przy czym ta ilość będzie zmienna? Można zrobić pole będące np. tablicą stringów lub czymś w tym rodzaju?

Ten post edytował ultramega-ok 24.04.2005, 00:07:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yavaho
post
Post #2





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Kod
r_kategorie (i tutaj właśnie chcę przechowywać nazwy kategorii, do których należy rysunek - zmienna ilość dla różnych rysunków, bo niektóre mogą należeć do wielu kat.)
Nie mozesz przechowywac w jednej komorce wiecej niz jedna kategorie. Wiec musisz zrezygnowac z pola [r_kategorie] w tabeli[obrazki] I dla tego celu stworzyc dodatkowa tabele, w ktorej beda zapisane powiazania pomiedzy tabela[kategorie] a tabela[obrazki]. W tej dodatkowej posredniej tabeli zapiszesz tylko ID kategorii i ID Obrazka i nic wiecej. Ta tabela z reguly bedzie miala wiecej pozycji niz calkowita ilosc obrazkow, bo dla kazdego obrazka bedzie miala przypisane 1 lub wiecej rekordow.

"posrednia"
ObrKat_Id : 111 222 333 444 555 ...
ObrKat_Kat_Id : 01 02 03 01 02 ...
ObrKat_Obr_Id : 001 001 001 002 002 ...

Tu masz linka gdzie wytłumaczone jest kiedy mozna zastosowac tabele posrednia.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 01:30