Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [PHP][MySQL]Wyświetlenie nazwy uzytkownika po id_uzytkownika z innej tabeli

Napisany przez: dreamit 16.08.2018, 10:45:35

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. http://www.php.net/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. http://www.php.net/echo '<tr>';
  11. http://www.php.net/echo '<td>'.$wiersz['id_uzytkownika'].'</td>';
  12. http://www.php.net/echo '<td>'.$wiersz['czas'].'</td>';
  13. http://www.php.net/echo '</tr>';
  14. }
  15. }
  16. http://www.php.net/echo '</table>';

Napisany przez: nospor 16.08.2018, 10:52:48

Mozesz laczyc wiele tabel w jednym zapytaniu przy uzyciu np w tym wypadku LEFT JOIN - patrz manual mysql

Napisany przez: Sawczuk 16.08.2018, 19:25:19

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. http://www.php.net/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. http://www.php.net/echo '<tr>';
  18. http://www.php.net/echo '<td>'.$login['login'].'</td>';
  19. http://www.php.net/echo '<td>'.$wiersz['czas'].'</td>';
  20. http://www.php.net/echo '</tr>';
  21. }
  22. }
  23. http://www.php.net/echo '</table>';
  24. ?>


Jest to najprostszy sposób smile.gif.

Jeśli pomogłem nie zapomnij dać mi plusika smile.gif

Napisany przez: trueblue 16.08.2018, 19:32:00

To samo zapytanie w pętli? Nieźle...

Napisany przez: nospor 16.08.2018, 21:15:38

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.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)