![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
natknąłem się na problem z MySQL, mianowicie: Co chcę osiągnąć: Pobrać wszystko z tabeli użytkownik, sesji, grup, uprawnień (permissions) Problem: Dane z tabeli z uprawnienami muszę pobrać dwa razy. Oto co wykombinowałem: Niestety wynikiem zapytania jest: wszystko z tabeli użytkowników (u) wszystko z tabeli sesji (s) wszystko z tabeli uprawnień (up) nie ma niestety nieczego z tabeli uprawnień, oznaczonej jako 'gp' - i nic w tym dziwnego... dane z "up", nadpisują dane z "gp" ![]() Rozwiązaniem było by ustawienie perfixu dla wsystkich tabel... może jako f-cje? Z racji, że pewnie mało kto wie o co chodzi, posłużę się pewnym przykładem:
Jednakże z tego co mi wiadomo takie coś nie istnieje ![]() Podsumowywując: obecnie otrzymuję taki wynik: CODE Array A chiałbym otrzymać( [userID] => 1 [userGroup] => 1 [userName] => Anonymous [userNameClean] => anonymous [userPassword] => [userEmail] => [userEmailHash] => [userWarnings] => 0 [userLoginTries] => 0 [userCreated] => 0 [userLastVisit] => 1186912657 [userUnreadPM] => 0 [userIP] => [userTimezone] => 3 [userLang] => pl [userTemplate] => default [userHidden] => 0 [userShowEmail] => 1 [userSignature] => [userInterests] => [userFrom] => [userWebsite] => [userTlen] => [userGG] => [userJabber] => [userActivationKey] => [userNewPassword] => [sessionID] => ed2ac82bda1ae777f9d5d9cc0037f881 [sessionUserID] => 1 [sessionCreated] => 1186910785 [sessionLastVisit] => 1186912657 [sessionLocation] => index.php [sessionIP] => 127.0.0.1 [sessionBrowser] => c5d9f452fd84211aeeab3158e4291941 [sessionAdmin] => 0 [permissionsUserID] => 1 [permissionsGroupID] => 0 [permissionsCOS] => przykladowa_wartosc ) CODE Array ( [userID] => 1 [userGroup] => 1 [userName] => Anonymous [userNameClean] => anonymous [userPassword] => [userEmail] => [userEmailHash] => [userWarnings] => 0 [userLoginTries] => 0 [userCreated] => 0 [userLastVisit] => 1186912657 [userUnreadPM] => 0 [userIP] => [userTimezone] => 3 [userLang] => pl [userTemplate] => default [userHidden] => 0 [userShowEmail] => 1 [userSignature] => [userInterests] => [userFrom] => [userWebsite] => [userTlen] => [userGG] => [userJabber] => [userActivationKey] => [userNewPassword] => [sessionID] => ed2ac82bda1ae777f9d5d9cc0037f881 [sessionUserID] => 1 [sessionCreated] => 1186910785 [sessionLastVisit] => 1186912657 [sessionLocation] => index.php [sessionIP] => 127.0.0.1 [sessionBrowser] => c5d9f452fd84211aeeab3158e4291941 [sessionAdmin] => 0 [GPpermissionsUserID] => 0 [GPpermissionsGroupID] => 1 [GPpermissionsCOS] => przykladowa_wartosc [UPpermissionsUserID] => 1 [UPpermissionsGroupID] => 0 [UPpermissionsCOS] => przykladowa_wartosc ) Pozdrawiam Ten post edytował Crozin 12.08.2007, 16:37:17 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś powiedzieć co chcesz osiągnąć pobierając dwa razy to samo?, bo może da się to inaczej zrobić.
Jeśli w funkcji mysql_fetch_array użyjesz MYSQL_NUM to otrzymasz powtarzające się dane, tylko że wtedy klucze będą liczbami i trudniej będzie na tym operować. Jednym z rozwiązań jest nadanie osobno aliasu dla każdego pola z "up". Ten post edytował wijet 12.08.2007, 13:19:18 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
OT: Popraw literówkę w temacie
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
UDAT dzięki za zwrócenie uwagi - to nawet nie literówka, tylko błąd ortograficnzy (w dodatku głupi jak.. :])
A co do problemu... rozwiązałem go w znacznie logiczniejszy i co ważniejsze optymalniejszy sposób - dodatkowe pole w tabeli z serializowaną tablica ![]() Ehh.. ostatnio, gdy już napiszę jakiś temat po 10min znajduję samemu rozwiązanie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:09 |