witam
mam baze danych MySQL a w niej 2 tabele: Uzytkownicy i Uprawnienia
tabela uprawnienia wyglada tak :
'ID_uprawnienia', 'int(10) unsigned', 'NO', 'PRI', '', '
'ID_uzytkownika', 'int(10) unsigned', 'NO', 'PRI', ,
'
'ID_obiektu', 'int(10) unsigned', 'NO', 'PRI', ,
tabela Uzytkownicy wyglada tak :
'ID_uzytkownika', 'int(10) unsigned', 'NO', 'PRI', '', 'auto_increment'
'Login', 'varchar(45)', 'NO', ,
, ''
'Haslo', 'varchar(45)', 'NO', ,
, ''
dopuszczalne wartosci pola ID_uprawnienia to:
0 przegladanie
1 dodawanie
2 edycja
3 usuwanie
dopuszczalne wartosci pola ID_obiektu:
0 klienci
1 faktury
2 produkty
3 zamowienia
4 zlecenia
5 uzytkownicy
6 firmy
przykladowe zapytanie:
SELECT * FROM Uprawnienia right join Uzytkownicy on Uprawnienia.ID_uzytkownika=Uzytkownicy.ID_uzytkownika
group by ID_uzytkownik;
0, 1, 5, 1, 'login', 'haselko'
i teraz na czym polega problem
musze zbudowac zapytanie ktore sprawdzi w tabeli z Uprawnieniami czy uzytkownik o danym ID_uzytkownika ma prawa i jakie to sa prawa do obiektu ID_obiektu
Przykladowo
jesli uzytkownik ma prawo przegladania czyli ID_uprawnienia 1 do obiektu Klienci czyli ID_obiektu 0 to zapytanie ma zwrocic literke P
ale jesli uztkownik moze takze dodawac klientow to zapytanie ma zwrocic literki PD
trzeba uzyc pewnie GROUP BY CONCAT IF
prosze o pomoc