Autor Zpráva
wdwaf
Profil *
Zdravím,
mám formulár, kde si môže pomocou select boxu užívateľ vybrať ľubovoľný počet položiek. Tieto položky, čo si vybral by som chcel ale nejako uložiť do databázy, tak aby sa s nimi dalo ďalej pracovať (filtrovať nas základe toho, čo si užívateľ zvolil atď.). Ku príklad, napríklad by som chcel mať formulár, kde si užívateľ môže vybrať ľubovoľný počet obľúbených farieb (bude mať na výber modrú, červenú, zelenú, ...) a tieto farby čo si zvolil by som potreboval uložiť do databázy a potom napríklad filtrovať užívateľov tak, aby zobrazilo len tých čo majú medzi obľúbenými farbami červenú atď.

Napdajú ma dva spôsoby ako by sa to dalo spraviť:
1. Vytvoriť si novú tabuľku s dvoma stĺpcami, kde prvý stĺpec by bolo ID užívateľa a druhé ID farby a tak by sa postupne naplňoval. Toto mi ale príde dosť nepraktické, ak má užívateľ vyplňovať viacero takýchto select boxov (napr. obľúbene farby, zvieratá, seriály, atď.), pretože pre každú takúto možnosť by musela byť vytvorenňa nová tabuľka.
2. Ukladať zvolené možnosti v textovej podobe, ako napriklad cervena|modra|zlta|zelena, pričom by sa dalo filtrovať pomocou príkazu LIKE, ale to by sa asi zase zle spravovalo, ak by som chcel napríklad všetkým užívateľom odstrániť z obľúbených zelenú farbu..

Napadá vás nejaký iný (lepší) spôsob ako toto vyriešiť?

Vďaka.
Alphard
Profil
je mi sympatická první možnost, jen bych přidal jeden sloupec a jednu tabulku

tabulka kategorie, může mít slupce id a vlastnost
tabulka registr se sloupci id, id_uzivatele, id_vlastnosti, hodnota

pak pro uživatele Petra s id 8 a budou oblíbené barvy vypadat takhle

kategorie
1 barvy

registr
1 8 1 'zelená'
2 8 4 'modrá'

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0