Autor Zpráva
Andrej.B
Profil
Zdravim,
ako najlepsie vytvorit pristupy uzivatela do urcitych kategorii menu.
Mam 4 kategorie menu

tabulka kategorie
1. Sklad
2. Nastavenie
3. Vyroba
4. Udrzba

tabulka uzivatel
1. Admin
2. Uzivatel
3. Moderator
4. Test

Ako si to vytvorit strukturu v DB/mysql/ aby som mohol priradit urcitych uzivatelov k urcitej kategorii a niektorych uzivatelov aj do viacerych,pripadne neskor pridaval aj ine kategorie ci uzivatelov.
napriklad:
Admin - vidi vsetky kategorie
Uzivatel - vidi Sklad a Vyroba
Moderator - vidi Nastavenie
Test - vidi Vyrobu a Sklad

Dakujem
lionel messi
Profil
Andrej.B:

Vytvor si pomocnú tabuľku (tzv. väzobnú, je to klasický príklad na väzbu M:N) uzivatel_kategorie:

uzivatel_id | kategorie_id
1 | 1
1 | 2
1 | 3
1 | 4
2 | 1
2 | 3
3 | 2
4 | 1
4 | 3
Andrej.B
Profil
aha,cize kolko krat chcem uzivatelovu kategoriu,co moze vidiet, tolko krat tam musim toho uzivatela dat.

Ako bude vypadat select na tabulku kategorie pre uzivatela id 4 napriklad? To bude JOIN na na dalsie 2 tabulky.

nieco ako...
SELECT kat.*, uz.id_uzivatel,  uk.id_uzivatel, uk.kategorie_id
  FROM kategorie kat
  JOIN uzivatel uz ON uz.id_uzivatel = uk.id_uzivatel
  JOIN uzivatel_kategorie uk ON uk.id_uzivatel = uk.kategorie_id

  WHERE uk.id_uzivatel = $id_uzivatel

No bude to dost tazke to potom zobrazit... Snad ma to nezabije :)
Diky moc
blaaablaaa
Profil
Andrej.B:
Pro vypis kategorii daneho uzivatele staci jen tabulky kategorie a uzivatel_kategorie, viz nize. Pozor na SQL injection. A na strance s danou kategorii nezapomente overit, zda k ni ma dany uzivatel prava.
SELECT kat.*
  FROM kategorie kat
  JOIN uzivatel_kategorie uk ON uk.kategorie_id = kat.id
   WHERE uk.uzivatel_id = $id_uzivatel
Andrej.B
Profil
blaaablaaa:
dakujem

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