Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zrobic JOIN pola z wartosciami odzielonymi |?
Forum PHP.pl > Forum > PHP
Sabot
Witam,

Koduje prosty system uwierzytelnianiania zorientowanym rolowo i napotkalem na pewien problem, mianowicie mam trzy kolumny w tabeli z chronionymi obszarami strony:

group | user_allow | user_deny

Potem w kazdym z powyzszych pol (poza grupa oczywiscie) mam id uzytkownikow odzielonych pipami winksmiley.jpg Np:

6|19|24

W sekcji admin podczas wyswietlania listy obszarow, chcialbym zamienic id na nazwe uzytkownika, moje obecne rozwiazanie polega na wczytaniu do tablicy calej zawartosci tabeli users i uzycie echo $users[$user_id], jednak to sprawdza sie jedynie w przypadku malej liczby uzytkownikow, co jesli bedzie ich kilka tysiecy? Jedyne co mi przychodzi do glowy to zablokowac mozliwosc nadawania specjalnych praw dostepu uzytkownikom najnizszego poziomu, tych ktorych bedzie znakomita wiekszosc, dzieki czemu tablica wykorzystana do zamiany id na nazwe uzytkownika bedzie relatywnie mala. Czy istnieje jakies inne rozwiazanie, najlepiej na poziomie sql?

Zanim zostane zbesztany, ten system napisalem na potrzeby aplikacji intranetowej, gdzie liczba uzytkownikow obecnie wynosi prawie 60 osob. System sprawuje sie calkiem niezle i chcialbym go rozwinac do poziomu gdzie moglby obsluzyc bez zadnych restrykcji tysiace uzytkownikow, kiedy to bedzie zrobione opublikuje to jako open source, jest to modul do frameworka Codeigniter.

Dzieki za wszelkie sugestie, pozdro.
mike
Trzymanie zbioru wartości w jednym polu gdzie stosujesz jakieś oddzielenia typu | czy przecinki, czy cokolwiek innego to totalna głupota.
Zanim cokolwiek zrobisz musisz zmienić strukturę bazy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.