Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzenie praw do danych, a zapytanie
Jawor
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Jawor
post
Post #2





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):
  1. SELECT * FROM element INNER JOIN katalog ON [b]element.id_katalogu = katalog.id_katalogu[/b] WHERE katalog.id_uzytkownik = $_SESSION['id_uzytkownik'] [b]AND element.id_elementu = 4[/b]


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:
  1. <?php
  2. $sql = "powyzsze zapytanie";
  3. $query = mysql_query($sql);
  4. $result = mysql_fetch_array($query);
  5.  
  6. echo $result['element.data'];
  7. ?>

lecz to nie dziala.

Jezeli uzyje normalnie:
  1. <?php
  2. $result['data'];
  3. ?>

To pobierze z tabeli katalog (jezeli w tabeli element rowniez istnieje pole data).

Ten post edytował Jawor 22.03.2008, 03:50:13
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: 24.12.2025 - 08:52