Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Wyświetlenie nazwy uzytkownika po id_uzytkownika z innej tabeli, Jak to zrobić?
dreamit
post 16.08.2018, 10:45:35
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.07.2018

Ostrzeżenie: (0%)
-----


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>';


Ten post edytował dreamit 16.08.2018, 10:45:55
Go to the top of the page
+Quote Post
nospor
post 16.08.2018, 10:52:48
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sawczuk
post 16.08.2018, 19:25:19
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 2
Dołączył: 13.01.2017

Ostrzeżenie: (0%)
-----


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

Ten post edytował Sawczuk 16.08.2018, 19:27:15
Go to the top of the page
+Quote Post
trueblue
post 16.08.2018, 19:32:00
Post #4





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
nospor
post 16.08.2018, 21:15:38
Post #5





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 14:49