Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie dwóch tabel
Forum PHP.pl > Forum > Bazy danych
xarkez
Witajcie mam problem

Chciałbym połączyć 2 tabele , gdzie
1 zawiera nazwę użytkownika a 2. link do obrazka

obrazek jest przypisany do danego użytkownika

w tabeli users


mam kolumne userName ( nazwa usera )

Ktoś kto wrzuca obrazek na serwer , jego obrazek zostaje zapisany do tabeli user_uploads


z jego nickiem w kolumnie user_id_fk

teraz powiedzmy że mam zrobiony skrypt który pokazuje wszystkich użytkowników z tabeli users a pod jego nazwą jest link:

  1. <a href='pokaz.php?id=" . $r['userId'] . "'>" . $r['userName'] . "</a>

po kliknieciu przechodzi na stronę pokaz.php i tu chciałbym by były wyświetlone obrazki które zapisane są w user_uploads

no i pojawia się problem gdyż nie wiem jak to zrobić. Proszę o pomoc. Najlepiej gdyby ktoś napisał mi gotowe zapytanie do MYSQL
phpion
Zapisuj w drugiej tabeli userId, a nie userName. W obecnej sytuacji tez sobie poradzisz ale rozsądniej zrobić jak napisałem. W obecnej postaci w linku przekazuj nazwę użytkownika, a nie id, albo w zapytaniu pobierającym dane użyj podzapytania, które na podstawie id zwróci userName.
xarkez
Juz tak próbowałem sad.gif nie wiem już namieszałem sobie tak w głowie że nie wiem co z czym się je biggrin.gif

obecne pliki:

wszystkie.php ( pokazuje wszystkich userów z tabeli users )

  1. <?php
  2. $con = mysqli_connect("localhost","","#123","");
  3.  
  4. $wynik = mysqli_query($con, "select * from users");
  5.  
  6. /*
  7. wyświetlamy wyniki, sprawdzamy,
  8. czy zapytanie zwróciło wartość większą od 0
  9. */
  10.  
  11.  
  12. if($wynik) {
  13. if (mysqli_num_rows($wynik) > 0) {
  14. ;
  15. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  16. echo "<table cellpadding=\"2\" border=1>";
  17. while ($r = mysqli_fetch_assoc($wynik)) {
  18. $imgName = $r['image_name'];
  19. echo "<tr>";
  20. echo "<td><a href='pokaz.php?id=" . $r['userId'] . "'>" . $r['userName'] . "</a></td>";
  21. echo "</tr>";
  22. }
  23. echo "</table>";
  24. }
  25. }



i
  1. pokaz.php
( ten niby miałby pokazywać plik tylko i wyłącznie jednego usera z tabeli user_uploads )

  1. <?php
  2. $con = mysqli_connect("localhost","","#123","");
  3.  
  4. $wynik = mysqli_query($con, "select * from users");
  5.  
  6. /*
  7. wyświetlamy wyniki, sprawdzamy,
  8. czy zapytanie zwróciło wartość większą od 0
  9. */
  10.  
  11.  
  12. if($wynik) {
  13. if (mysqli_num_rows($wynik) > 0) {
  14. ;
  15. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  16. echo "<table cellpadding=\"2\" border=1>";
  17. while ($r = mysqli_fetch_assoc($wynik)) {
  18. $imgName = $r['image_name'];
  19. echo "<tr>";
  20. echo "<td><a href='pokaz.php?id=" . $r['userId'] . "'>" . $r['userName'] . "</a></td>";
  21. echo "</tr>";
  22. }
  23. echo "</table>";
  24. }
  25. }


"miałby".... pokazuje jednak wszystkie obrazki nawet te nie należące do niego

DEMO
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.