Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyświetlenie nazwy uzytkownika po id_uzytkownika z innej tabeli
Forum PHP.pl > Forum > Przedszkole
dreamit
Struktura mojej bazy jest taka:
Tabela uzytkownicy a tam: id, login, itd...
Tabela zgloszenia a tam: id_uzytkownika, czas itd...
id_uzytkownika z tabeli zgloszenia == id z tabeli uzytkownicy

Ściąga mi te id_uzytkownika z tabeli zgloszenia i wypisuje numer, a ja chcialbym na podstawie tego numeru odnalezc z tabeli uzytkownicy tego uzytkownika i wyswietlić jego login.
Jak to zrobić? Kolejne zapytanie powinienem dodać po $wiersz = $zapytanie->fetch_assoc(); questionmark.gif w stylu
$zapytanie2 = $baza_connect->query("SELECT login FROM uzytkownicy WHERE id = '" .$wiersz['id_uzytkownika']. "' ORDER BY czas DESC");
Czy jak? Jakieś rady?

Niżej kod:
  1. $zapytanie= $baza_connect->query("SELECT id_uzytkownika, czas FROM zgloszenia WHERE id_uzytkownika = '" . $_SESSION['id_user'] . "' ORDER BY czas DESC");
  2. echo '<table><th>Użytkownik</th><th>Czas</th>';
  3. if ($zapytanie)
  4. {
  5. $liczba_wierszy = $moje_rezerwacje->num_rows;
  6.  
  7. for ($i=0;$i<$liczba_wierszy;$i++)
  8. {
  9. $wiersz = $zapytanie->fetch_assoc();
  10. echo '<tr>';
  11. echo '<td>'.$wiersz['id_uzytkownika'].'</td>';
  12. echo '<td>'.$wiersz['czas'].'</td>';
  13. echo '</tr>';
  14. }
  15. }
  16. echo '</table>';
nospor
Mozesz laczyc wiele tabel w jednym zapytaniu przy uzyciu np w tym wypadku LEFT JOIN - patrz manual mysql
Sawczuk
Witaj

Wystarczy że dodasz zapytanie mysql do bazy które pobierze login po id użytkownika smile.gif .

Przerobiłem twój skrypt .

  1. <?php
  2. $zapytanie= $baza_connect->query("SELECT id_uzytkownika, czas FROM zgloszenia WHERE id_uzytkownika = '" . $_SESSION['id_user'] . "' ORDER BY czas DESC");
  3. echo '<table><th>Użytkownik</th><th>Czas</th>';
  4. if ($zapytanie)
  5. {
  6. $liczba_wierszy = $moje_rezerwacje->num_rows;
  7.  
  8. for ($i=0;$i<$liczba_wierszy;$i++)
  9. {
  10. $wiersz = $zapytanie->fetch_assoc();
  11.  
  12. //tutaj początek
  13. $query= $baza_connect->query("SELECT login FROM uzytkownicy WHERE id = '" .$wiersz['id_uzytkownika']. "' LIMIT 1");
  14. $login = $query->fetch_assoc();
  15. //tutaj koniec
  16.  
  17. echo '<tr>';
  18. echo '<td>'.$login['login'].'</td>';
  19. echo '<td>'.$wiersz['czas'].'</td>';
  20. echo '</tr>';
  21. }
  22. }
  23. echo '</table>';
  24. ?>


Jest to najprostszy sposób smile.gif.

Jeśli pomogłem nie zapomnij dać mi plusika smile.gif
trueblue
To samo zapytanie w pętli? Nieźle...
nospor
Cytat
Jest to najprostszy sposób
Raz ze nie jest to najprostszy, dwa ze jest totalnie najgorszy z mozliwych.
Odpowiedz juz padla w moim pierwszym poscie.
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-2024 Invision Power Services, Inc.