Autor Zpráva
esonyx
Profil *
Ahoj,

řeším jak uložit do DB zaškrtávací možnosti tak, abych je mohl kdykoliv zpětně podle checkboxů vyhledat.

Funkční řešení mě napadá takto: tabulka(user id, checkbox1,checkbox2,checkbox3....) kde bude na řádku bude buď 1 nebo 0. Co když ale změním počet chceckboxů za provozu, nehledě na to, že je to podle mě plýtvání.

Druhé řešení mě napadlo, že budu ukládat id checkboxu do jednoho sloupce. Tj: tabulka(user id, checkbox) kde bude na řádku 4|8|67|15|41.

Tady ale nevím, jak bych postavil rychlý dotaz k vypsání výsledku, pokud budu chtít zobrazit řádky pouze s checkboxy 8 a 15.
panther
Profil
esonyx:
a treti reseni bude tabulka user_id | checkbox_id.
esonyx
Profil *
panther:
Tohle řešení mě taky napadlo. Potom ale nevím jak zadám dotaz v případě, že mám tabulku s uživateli a chci vypsat uživatele pouze do určitého věku, váhy s tím že musí dotaz vrátit pouze výsledky kde jsou zaškrtnuté všechny požadované checkboxy.

např: vypiš všechny uživatele kteří mají do 80kg, jsou starší 21let, a umějí to (check1) i to (check2) i to (check3)

tabulka (user id, vaha, vek)
a druha tabulka (user id, checkbox id)
Keeehi
Profil
SELECT *
FROM tabulka JOIN (
    SELECT user_id, count(*) AS pocet
    FROM druha_tabulka
    WHERE checkbox_id IN (2,3)
    GROUP BY user_id) AS t
USING (user_id)
WHERE vaha < 80 AND vek > 21 AND pocet = 2

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: