Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
lukaszalbert
Witam,

mam problem ze złączeniem 2 tabel a dokładniej po jednej kolumnie z każdej.


Z tabeli "produkt" chcę pobrać dane kolumny "opis", a z tabeli "formatka" chcę pobrać dane kolumny "tytuł". W taki sposób aby dany opis przypisać do swojego tytułu.


Mam coś takiego, ale to nie działa. Bo Wszystkie wyniki powtarza.

  1. $sql = mysql_query("
  2. SELECT
  3. p.opis, f.tytul
  4. FROM
  5. produkt as p, formatka as f
  6. WHERE
  7. p.id_prod2 = '".$_GET['id_prod2']."' AND
  8. f.id_cat = '".$_GET['id_cat']."'
  9.  
  10. ") or die('Błąd Bazy MySQL'); // zapytanie mysql
  11. while ($rekord = mysql_fetch_assoc ($sql)) { //kazdy rekord w bazie przypisujemy zmiennej a poszczegolne wpisy, jako tablica
  12. $opis = $rekord['opis'];
  13. $tytul = $rekord['tytul'];
  14. echo '
  15. <tr>
  16. <td>
  17.  
  18. </td>
  19. <td>
  20. '.$tytul.'
  21. </td>
  22. <td>
  23. '.$opis.'
  24. </td>
  25. </tr>
  26. ';
  27. }
  28.  



Struktura tabel to

produkt:
Kod
id_prod | id_prod2 | id_form | opis


formatka:
Kod
id_form | id_cat | tytul | zmienna | grupa | pole_specjalne | typ


Jak zrobić zapytanie aby pola się przypisywały sobie nawzajem?
johny_s
do poczytania
https://dev.mysql.com/doc/refman/5.0/en/join.html
lukaszalbert
Już wcześniej próbowałem jako left join z using bo część wspólną mam "id_form". Ale miałem błąd bazy mysql. Czy chociaż w dobrym kierunku to robię?

Przykłady po angielsku raczej mi się nie przydadzą. Wolę polski język wink.gif


Już rozwiązałem sprawę smile.gif, dziękuję za naprowadzenie. Poniżej działający kod.

  1. SELECT *
  2. FROM produkt as p
  3. INNER JOIN formatka as f
  4. ON p.id_form = f.id_form
  5. WHERE
  6. p.id_prod2 = '".$_GET['id_prod2']."' AND
  7. f.id_cat = '".$_GET['id_cat']."'
  8.  
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-2025 Invision Power Services, Inc.