Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: grupowanie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
maciu
Są dwie tabele: samochod, marka

SAMOCHOD
id, nazwa, id_marka, data
1 car1 null 2006-03-20
2 car2 1 2006-03-21
3 car3 1 2006-03-21
4 car4 2 2006-03-22

MARKA
id, opis
1 jakas marka
2 jakas marka2


Chcę wyświetlić wszystkie samochody w kolejności według pola data, grupując je według marki (nie wszystkie samochody muszą mieć przypisaną markę)

  1. <?php
  2.  
  3. $sql = "select * from samochod order by data";
  4. $query = mysql_query($sql);
  5. while($row = mysql_fetch_array($query)) {
  6. $nazwa = $row['nazwa'];
  7. $id_marka = $row['id_marka'];
  8.  
  9. if(!is_null($id_marka) {
  10. $sql2 = "select opis from marka where id = '".$id_marka."'";
  11. $query2 = mysql_query($sql2);
  12. $data = mysql_fetch_array($query2);
  13. $marka = $data['opis'];
  14.  
  15. echo $marka.'<br /> '.$nazwa.'<br />';
  16.  } else {
  17. echo $nazwa.'<br />';
  18.  
  19.  }
  20. }
  21.  
  22. ?>


Problem polega na tym, że taki kod wyświetli wynik:
Kod
car1

JAKAS MARKA
car2
JAKAS MARKA
car3

JAKAS MARKA2
car4


a ja chciałbym, aby wynik był taki:
Kod
car1

JAKAS MARKA
car2
car3

JAKAS MARKA2
car4


wiecie może jak się z tym uporać?
mhs
Zapoznaj się ze składanią zapytaie SELECT, a w szczególności klauzulą GROUP BY.
spenalzo
Oraz ze składnią LEFT JOIN tongue.gif
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.