![]() |
![]() ![]() |
![]() |
![]()
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 ![]() Ten post edytował lnn 1.02.2010, 23:15:06 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
To chyba zadanie dla left join przynajmniej mi się tak wydaje.
![]() Swoją drogą pokaż jak sam próbowałeś. Ten post edytował fifi209 1.02.2010, 23:17:50 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 361 Pomógł: 11 Dołączył: 17.12.2008 Skąd: LU Ostrzeżenie: (0%) ![]() ![]() |
o w koncu cos zatrybilo
![]()
1. pytanie to: jak pobrac np z tabeli dane1 wiecej pol niz tylko jedno nazwa? 2. pyt. to czy da sie pobrac pozostale dane z tabel dane2,3,4 w jednym zapytaniu? <mysli> |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Ja Ci pokażę, ja miałem coś takiego:
Pobierał komentarze do tego po news.author_id wybierał users.name ![]() ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Lubie to, lecimy dla postgresql:
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 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 361 Pomógł: 11 Dołączył: 17.12.2008 Skąd: LU Ostrzeżenie: (0%) ![]() ![]() |
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. hmm z tym ze to jest mysql... a co do unikatowych nazw kolumn, to czy relacje tak mozna tworzyc zeby byly rozne nazwy w tabelach dla relacji? nr d1 - user_id1, d2 - user_id2, d3 - user_id3 ![]() moze zle baze zaprojektowalem? :/ EDIT: nie da sie zrobic tak ze: klikam na nazwe ze spisu, przechodzi mi i wyciaga z: dane1, dane2, dane3, dane4 - wszystkie wartosci po spis_id i user_id? Ten post edytował lnn 2.02.2010, 00:06:33 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Baza jest poko, dodaj primary key i foreign key i będzie szybciej śmigało zapytanie. Skopiuj wszystko od select w dól i będzie działać pod mysql, a bynajmniej powinno. To jest czysty Ansi sql.
Tylko sobie klauzule where dodaj ![]() @edit dobranoc, jak coś to do jutra jak dojdę do pracy. Ten post edytował cojack 2.02.2010, 00:06:09 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 361 Pomógł: 11 Dołączył: 17.12.2008 Skąd: LU Ostrzeżenie: (0%) ![]() ![]() |
efekt? nie taki za bardzo jakbym chcial (ilosc rekordow liczaca setki) :/ wie ktos co jest grane? ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
W klauzulach ON dodaj sobie jeszcze dla każdego
przykład dla pierwszego:
Wtedy musisz też podać id_spis, zresztą nie wytłumaczyłeś dokładnie co Ty chcesz uzyskać, nie wiadomo czym jest spis, nazwy tabel też niczego nie reprezentują. Skąd tyle wyników? Już Ci tłumaczę, te zapytanie pobiera, dosłownie WSZYSTKIE rekordy z pięciu tabel dotyczące użytkownika o podanym user_id. Robi to składnia
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:52 |