![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam nastepujace tabele: Uzytkownicy id_uzytkownika | login | haslo Katalog id_katalogu | id_uzytkownika | nazwa_katalogu | data Element id_elementu | id_katalogu | nazwa_elementu W sesji przetrzymuje id_uzytkownika. I teraz np. przed wyswietleniem wybranego elementu chce sprawdzic czy nalezy on do aktualnie zalogowanego uzytkownika. Do tej pory robilem to dwoma zapytaniami: 1. pobranie id_katalogu z tabeli Element 2. pobranie id_uzytkownika z tabeli Katalog (posiadajac wczesniej pobrane id_katalogu) na koniec porownuje pobrane id_uzytkownika z sesja ... Zastanawiam sie jednak jak by to zrobic za pomoca jednego zapytania, aby jednoczesnie moc pozniej wyswietlic dane z tabeli Element. Zapewne trzeba polaczyc te tabele niestety nie bardzo rozumie dzialanie JOIN. Bede wdzieczny za pomoc z wyjasnieniem gdyz chcialbym to zrozumiec, a nie tylko wykorzystac gotowy kod ... Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
inner join - laczy 2 tabele i zwraca wynik pod warunkiem ze w oby dwu tabelach sa jakies dane.
czyli
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
A czy czasem nie powinno byc tak (dodalem warunek aby wyswietlilo tylko jeden konkretny rekord z tabeli element - ew. jak nie nalezy do zalogowanego uzytkownika to nic nie wyswietli):
Ta poprawiona wersja dziala, lecz mam pytanie jak mam podczas wyswietlania rozrozniac z ktorej tabeli pobiera dane w przypadku gdy w obu tabelach wystepuja pola o tych samych nazwach ? Probowalem cos kombinowac:
lecz to nie dziala. Jezeli uzyje normalnie:
To pobierze z tabeli katalog (jezeli w tabeli element rowniez istnieje pole data). Ten post edytował Jawor 22.03.2008, 03:50:13 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
mozna tak
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dziekuje bardzo za pomoc.
Rozumiem ze rozbudowany przeze mnie WHERE jest poprawny i nie przyniesie zadnych nieoczekiwanych zdarzen ? Update: Mam jeszcze jedno pytanie. Czy istnieje mozliwosc dodania do tego zapytania elementu ktory by mi zwrocil liczbe pobranych rekordow ? Probowalem w ten sposob:
Lecz to niestety nie dziala (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...) Bylo by to przydatne do ostatecznego sprawdzenia czy dany element nalezy do uzytkownika. Aktualnie robie to za pomoca funkcji mysql_num_rows -> jak zwraca 0 to element nie nalezy do uzytkownika, a jak 1 to nalezy. Zastanawiam sie jednak czy nie da sie jakos uniknac uzycia mysql_num_rows. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 18:50 |