Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Zapytanie] Problem z napisaniem zapytania SQL, [SOLVED]
eai
post
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

Ostrzeżenie: (0%)
-----


group_main
Kod
group_id | group_name


group_users
Kod
id | user_id | group_id


Iteraz chce wyświetlić w ten sposób że...

Najpierw pobiera grupe, a potem z group_users pobiera mi userow ktorzy naleza do tej grupy.

Powinno to wygladac tak:
Kod
[0]   => array
                       [group_id] = 1
                       [group_name] = 'grupa 1'
                       [users] => array
                                               [0] => array
                                                                   [id] = 1
                                                                   [user_id] = 23
                                               [1] => array
                                                                   [id] = 5
                                                                   [user_id] = 55
[1]   => array
                       [group_id] = 2
                       [group_name] = 'grupa 2'
                       [users] => array
                                               [0] => array
                                                                   [id] = 2
                                                                   [user_id] = 13
                                               [1] => array
                                                                   [id] = 4
                                                                   [user_id] = 25


itd.....
Da sie utworzyc taka tablice po stronie SQL (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Wiem ze moge zrobic dwa zapytania, najpierw pobierac grupy potem petla i kolejne zapytanie pobierajace userow wedlug group_id ale wolalbym za pomoca jednego zapytania.

Pomocy....

Ten post edytował eai 19.10.2006, 21:39:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Możesz zrobić to zapytaniem, ktróre posortuje Ci po group_id z group_main, a następnie w php utworzysz sobie potrzebną tablicę.

Zapytanie będzie mnięj więcej tak (pisane z palca - nie testowałem)

  1. SELECT
  2. g1.group_id,
  3. g1.group_name,
  4. (SELECT id FROM group_users WHERE group_id = g1.group_id) AS id,
  5. (SELECT user_id FROM group_users WHERE group_id = g1.group_id) AS user_id
  6. FROM group_main g1
  7. ORDER BY g1.group_id


W postgresie możesz zwrócić tablicę (nie asocjacyjną) lub typ, który tą tablicę może udawać. W mysql niestety nie wiem, czy się da zrobić takie coś.

Ten post edytował batman 19.10.2006, 12:48:10
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 16:25