Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Łączenie dwóch tabel
xarkez
post 16.03.2018, 16:43:40
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.07.2015

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


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
Go to the top of the page
+Quote Post
phpion
post 16.03.2018, 17:13:59
Post #2





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post
xarkez
post 16.03.2018, 17:22:37
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.07.2015

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


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

Ten post edytował xarkez 16.03.2018, 17:23:20
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: 16.04.2024 - 10:38