Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Zapytanie
Forum PHP.pl > Forum > Przedszkole
-Andrzej-
Witam,
może pokażę pierw jak sprawa wygląda aktualnie

mam w tabeli następujące rekordy



W tej chwili dane na stronie prezentowane są w ten sposób:



Chciałbym, aby wyglądało to w ten sposób:



czyli:
- rekordy które mają taki sam wpis w polu rodzaj i gatunek były wyświetlane pod jednym (zsumowana powierzchnia i zbiór) - przykład marchwi.
- nie powtarzać w każdym wierszu rodzaju tylko wylistować raz każdy, a pod każdym wszystkie gatunki do niego należące.

Czy jest możliwość wygenerowania listy w ten sposób? Podejrzewam, że coś z DISTINCT niestety nie wiem jak to ugryźć :/


Pozdrawiam
Andrzej
dadexix
w mysql biegły nie jestem ale od czego jest forearch" title="Zobacz w manualu PHP" target="_manualsmile.gif?
JoShiMa
Żeby użyć foreach trzeba najpierw odpowiednio skonstruować tablicę asocjacyjną w momencie wczytywania danych z rekordów. Ja zorbiłabym to tak:

  1. <?php
  2. while($rekord = mysql_fetch_array($wynik_zapytania)){
  3.  $tabela[$rekord['rodzaj']][] = array('gatunek'=>$rekord['gatunek'],'rodzaj'=>$rekord['rodzaj'],'powierzchnia'=>$rekord['powierzchnia'],'zbior'=>$rekord['zbior']);
  4. }
  5.  
  6. echo '<ul>';
  7. foreach($tabela as $rodzaj => $spis){
  8.  echo "<li>$rodzaj <ul>";
  9. for($i=0;$i<count($spis);$i++){
  10.  echo '<li>'.$spis[$i]['gatunek'].' '.$spis[$i]['powierzchnia'].' ha '.$spis[$i]['zbior'].'kg</li>';
  11. }
  12.  echo '</ul></li>';
  13. }
  14. echo '<ul/>';
  15. ?>


Jeszcze jedno. Poszukaj w sieci info na temat redundancji danych i dowiedz się, czemu Twoja tabela w bazie jest źle skonstruowana smile.gif

Aha. Jeśli chcesz mieć na przykład posumowane dla każdego gatunku to musisz to załatwić w zapytaniu:

  1. SELECT rodzaj, gatunek,SUM(powierzchnia), SUM(zbior) FROM tabela GROUP BY rodzaj,gatunek
-Andrzej-
Bardzo serdecznie dziękuję za pomoc, dokładnie o to mi chodziło. Jednak bym sobie nie poradził z tym smile.gif, jeszcze raz dziękuję i pozdrawiam
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.