Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dwukrotne pobranie danych z jednej tabeli
Crozin
post
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:
  1. SELECT u.*, s.*, gp.*, up.*
  2. FROM sys_users u, sys_sessions s, sys_permissions gp, sys_permissions up
  3. WHERE userID=sessionUserID AND sessionID='ed2ac82bda1ae777f9d5d9cc0037f881' AND userGroup=gp.permissionsGroupID AND userID=up.permissionsUserID;
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" winksmiley.jpg

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:
  1. SELECT u.*, s.*, PREFIX(gp.*, 'jakis_prefix'), PREFIX(up.*, 'inny_prefix_dla_kazdej_z_tabel')...


Jednakże z tego co mi wiadomo takie coś nie istnieje winksmiley.jpg

Podsumowywując:
obecnie otrzymuję taki wynik:
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
[permissionsUserID] => 1
[permissionsGroupID] => 0
[permissionsCOS] => przykladowa_wartosc
)
A chiałbym otrzymać
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:06