Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Pobieranie konkretnych danych z tabeli
Forum PHP.pl > Forum > PHP
kowi87
Witam.
Na początek przedstawię jak wyglądają moje tabele, a następnie wyjaśnię w czym tkwi problem.

Tabela 1:
nazwa - uzytkownicy
pola - id, imie, email, haslo

Tabela 2:
nazwa - przedmioty
pola - id, iduzytkownika, nazwa, wartosc

Chodzi mi o to, by po zalogowaniu się użytkownika tabelka na stronie wypełniła się przedmiotami użytkownika.

Tak wyglądają linie kodu, w których coś jest nie tak jak być powinno:
  1. $mojeid=mysql_query("SELECT id FROM uzytkownicy WHERE uzytkownik='".$_SESSION["uzytkownik"]."';");
  2. $result=mysql_query("SELECT nazwa,wartosc FROM przedmioty WHERE iduzytkownika='".$mojeid."';");
b4rt3kk
  1. SELECT * FROM uzytkownicy JOIN przedmioty ON uzytkownicy.id = przedmioty.iduzytkownika


A zmienna $mojeid nie zwraca konkretniej wartości, tylko obiekt.
Randallmaster
Tabela 1:
nazwa - uzytkownicy
pola - id, imie, email, haslo

Tabela 2:
nazwa - przedmioty
pola - id, iduzytkownika, nazwa, wartosc


  1. select u.id, u.imie, p.id, p.iduzytkownika, p.nazwa, p.wartosc from uzytkownicy u join przedmioty p on p.iduzytkownika = u.id order by u.id


W taki sobsób można łączyć większą ilość tabeli. Pisane z palca więc mam nadzieje że nie nie zrobiłem błędu.
b4rt3kk
Cytat(Randallmaster @ 17.01.2013, 21:45:13 ) *
Tabela 1:
nazwa - uzytkownicy
pola - id, imie, email, haslo

Tabela 2:
nazwa - przedmioty
pola - id, iduzytkownika, nazwa, wartosc


  1. select u.id, u.imie, p.id, p.iduzytkownika, p.nazwa, p.wartosc from uzytkownicy u join przedmioty p on p.iduzytkownika = u.id order by u.id


W taki sobsób można łączyć większą ilość tabeli. Pisane z palca więc mam nadzieje że nie nie zrobiłem błędu.


Napisałeś to samo co ja post wyżej. smile.gif
kowi87
Wyświetla poprawnie przedmioty użytkownika od id = 1, pod warunkiem, że to jedyny użytkownik jaki jest w bazie danych. Gdy dodam użytkownika o id = 2, to bez względu na to, na które konto się zaloguję, w tabeli pokazuje mi przedmioty obu użytkowników.

Po zalogowaniu na profil w zmiennej $_SESSION["uzytkownik"] przekazywany jest login użytkownika (jego e-mail), dlatego myślałem by na końcu linii odpowiedzialnej za wyświetlanie przedmiotów dodać coś odpowiedzialnego za sprawdzenie e-maila użytkownika, by mieć pewność, że tylko jego przedmioty zostaną wyświetlone.

W głowie mej jest w tym momencie niesamowity chaos, dlatego mam nadzieję, że napisałem wszystko najjaśniej jak to możliwe.
Greg0
Dodaj do zapytania jeszcze regułę WHERE w której wybierzesz rekordy z ID użytkownika zalogowanego smile.gif
kowi87
Masz rację, jednak nie wiem jak tego dokonać, gdyż b4rt3kk napisał, że to zwróci obiekt, a nie wartość.
kristaps
Cytat(kowi87 @ 23.01.2013, 17:17:48 ) *
[...] obiekt, a nie wartość.

Zgadza się, po mysql_query, wypadałoby użyć mysql_fetch_row. Czyli w Twoim przypadku:

  1. $row = mysql_fetch_row($mojeid);
  2.  
  3. $id = $row[0]; //Wynik zapytania
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.