Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jak pobrać wyniki z 2 tabel jednocześnie (łączenie wyników)
-Mielito-
post
Post #1





Goście







Witam,

Pobieram dane z 2 tabel w taki sposób:

  1. $sql = 'SELECT nazwa, opis FROM `tabela1` WHERE id > 0;' ;
  2.  
  3.  
  4. $resultx = mysql_query($sql);
  5.  
  6.  
  7. if(mysql_num_rows($resultx) > 0) {
  8.  
  9.  
  10. while($row123 = mysql_fetch_assoc($resultx)) {
  11.  
  12.  
  13.  
  14. }
  15.  
  16. echo $nazwa . " - " . $opis;
  17.  
  18. }
  19.  
  20.  
  21.  
  22.  
  23.  
  24. [php]$sql = 'SELECT nazwa, opis FROM `tabela2` WHERE id > 0;' ;
  25.  
  26.  
  27. $resultx = mysql_query($sql);
  28.  
  29.  
  30. if(mysql_num_rows($resultx) > 0) {
  31.  
  32.  
  33. while($row123 = mysql_fetch_assoc($resultx)) {
  34.  
  35.  
  36.  
  37. }
  38.  
  39. echo $nazwa . " - " . $opis;
  40.  
  41. }


[/php]


W tym momencie chciałbym aby dane z obu tabel zostały połączone, tzn znajdowały się w jednej tablicy.
Jak to zrobić ?

(pewnie można to zrobić bezpośrednio z sql jak i połączyć wyniki po pobraniu osobnymi zapytaniami j/w, ale nie mogę sobie z tym poradzić)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. SELECT
  2. t1.nazwa, t2.opis, t3.wzor, t4.dlugopis
  3. FROM
  4. tabela1 t1
  5. LEFT JOIN tabela2 t2 ON(t1.id = t2.id)
  6. LEFT JOIN tabela3 t3 ON(t1.id = t3.id)
  7. LEFT JOIN tabela4 t4 ON(t1.id = t4.id)
  8. WHERE
  9. t1.id = 10

Cały sekret polega na znalezieniu wspólnego identyfikatora [to nie musi być id] dla tabeli "głównej" i tabel, które chcesz "podpiąć"

Możesz też wykorzystać łańcuch zależności - w tym wypadku chcesz pobrać nazwisko burmistrza stolicy znając tylko kraj
  1. SELECT
  2. b.nazwisko
  3. FROM
  4. kraje k
  5. LEFT JOIN miasta m ON(m.nazwa = k.stolica) //pobieramy dane dla miasta, które jest stolicą zapisaną w tabeli kraje
  6. LEFT JOIN burmistrzowie b ON(b.id_burmistrza = m.id_burmistrza) //pobieramy dane dla burmistrza, który jest zapisany w tabeli miasta
  7. WHERE
  8. k.name = 'Polska'


Ten post edytował CuteOne 29.05.2011, 06:19:28
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 07:10