Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] problem ze stworzeniem zapytania (relacje)
lnn
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Mam taką oto bazę danych jak na zdjęciu.

Spis wpisów danego uzytkownika wczytuje odczytując id w sesji jaki sie zalogowal: user_id = $_SESSION['id']
Wtedy wczytują mi się wszystkie wpisy danego użytkownika (z tabeli spis), ponieważ stworzyłem relacje, która zapisuje w tabeli jaki jest id usera ktory go zapisał. Natomiast w dane1,2,3,4 zapisuje sie id spisu oraz id uzytkownika ktory je dodal.

I teraz pytanie, chcialbym zrobic link w spisie
tzn zeby poprzez id ze spisu odczytalo mi dane z tabeli dane1, dane2, dane3, dane4

Jak stworzyć takie zapytanie?? Wiem, ze to bedzie jakies relacyjne, lecz wyskakuja mi przerozne bledy przy wywolaniu mysql_error(),
prosze o naprowadzenie na dobra sciezke ;-) z gory dzieki


(IMG:http://img94.imageshack.us/img94/8889/capture20100201230237.jpg)

Ten post edytował lnn 1.02.2010, 23:15:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Lubie to, lecimy dla postgresql:

  1. CREATE VIEW "getAllUserData" AS
  2. SELECT
  3. "d1".*
  4. "d2".*
  5. "d3".*
  6. "d4".*
  7. "spis".*
  8. FROM
  9. "spis"
  10. LEFT JOIN
  11. "dane1" AS "d1"
  12. ON
  13. ( "spis"."user_id" = "d1"."user_id" )
  14. LEFT JOIN
  15. "dane2" AS "d2"
  16. ON
  17. ( "spis"."user_id" = "d2"."user_id" )
  18. LEFT JOIN
  19. "dane3" AS "d3"
  20. ON
  21. ( "spis"."user_id" = "d3"."user_id" )
  22. LEFT JOIN
  23. "dane4" AS "d4"
  24. ON
  25. ( "spis"."user_id" = "d4"."user_id" );


Teraz tak, ten widok nie będzie działał iż aczkolwiek ponieważ są zduplikowane nazwy kolumn (user_id itd) muszą być unikatowe, więc tam gdzie jest select musisz wyszczególnić nazwy kolumn które chcesz pobrać i/lub dodać aliasy.

Można jeszcze dodać left joina na tabele user jeżeli nie masz fkeyi.

Ten post edytował cojack 1.02.2010, 23:49:53
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 17:48