Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dane z wielu tabel i array z nazwa tabeli na poczatku
Forum PHP.pl > Forum > PHP
kondor
Witam, nie wiem czy bede w stanie to dobrze wytlumaczyc ale mam nadzieje.

Mam zapytanie do bazy z paroma JOINAMI
  1. <?php
  2. SELECT T.*, Course.*, coursesUser.*, User.* as ja from teachers_users as T join users as User ON (t.user_id=User.id) JOIN courses_users as coursesUser ON (T.user_id=coursesUser.user_id) JOIN Courses as Course ON (coursesUser.course_id=Course.id) where T.teacher_id=$sesja[id] group by User.id order by User.id
  3. ?>


w jego wyniku powstaje
  1. array [html][0] => Array ( [id] => 2 [teacher_id] => 2 [user_id] => 2
[/html] itd.
W tablicy dane sa pomieszane np id z Usera mimo, ze id maja wszystkie tabele, user_id z czegostam itd.

I tutaj pytanie - czy da sie baze odpytac tak aby kazda tabela wystepujaca w tym zapytaniu byla poczatkiem tablicy tzn. np zeby w wyniku bylo:
  1. aray([0]=>array([User]=>array([id]=>1), array([Courses]=>array([id]=>5))
etc?

Chodzi mi o to, ze do danych ciezko jest sie dobrac gdy sa takie wymieszane. Pracuje troche z CAKE PHP i tam dane do widoku zwracane sa w postaci tablicy wlasnie w takiej postaci - kazda tabela/model ma swoj "przedrostek" w tablicy.

Czy da sie to zrobic?

Dziekuje z gory za pomoc

Pozdrawiam,
konrad

Nikt nie potrafi pomoc, czy tak to zawinalem ze niezrozumiale jest?
pgrzelka
Cytat
Nikt nie potrafi pomoc, czy tak to zawinalem ze niezrozumiale jest?

daj strukturę tabel
maly_swd
group_concat ... pewnie o to Ci chodzi..

http://dev.mysql.com/doc/refman/5.0/en/gro...on_group-concat
kondor
Sorry, ale nie dostalem maila z informacja o pierwszej odpowiedzi.

Wyglada to tak (od wczoraj troche zmienilem):

Users
- id
- thumb
- username
- email
itd

Courses
- id
- user_id
- learners
- title
- desc
itd

courses_users
- id
- course_id
- user_id
- teacher_id
itd

Calosc zapytanie i poszczegolne kolumny nie sa tak istotne jak to aby w wyniku zapytania powstala tablica wygladajaca np tak:
array([0]=>
array([User]=>array([id]=>1, [username]=>3 itd)),
array([Course]=>array([id]=>2, [title]='nico' itd)),
array(['coursesUsers]=>array([user_id]=>2, [id]=>5)))
[1]=>
array([User]=> itd

Fajnie by tez bylo (jak juz taka "wish list" ukladam) aby jezeli np. jeden uzytkownik uczestniczy w paru kursach (wiemy to z tabeli coursesUsers - user_id, course_id) to w ramach $zmienna[0] bylo [User] a potem [Course][1], [Course][2] i tam tytuly itd.

Wiem, ze wszystko to da sie zrobic robiac zapytanie, przelatujac petla, pytajac kolejny raz itd itd itd ale jako, ze tak robilem cale zycie to chcialbym sprobowac inaczej a chyba sie ta bo np. w wyniku zapytac cakePHP powstaje taki ladny array zebrany.

Dziekuje za pomoc i przepraszam za meczenie smile.gif
Konrad
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.