Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Zapytanie] Problem z napisaniem zapytania SQL, [SOLVED]
eai
post 19.10.2006, 10:53:28
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 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
batman
post 19.10.2006, 12:39:20
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


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:56