Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zagnieżdżone wyniki pobierane z bazy MySQL
Forum PHP.pl > Forum > PHP
ebe_x
Postaram się to przedstawić najjaśniej jak potrafię.
Chodzi o to,że mam bazę danych z uczniami, uczeń i jego oceny są w różnych tabelach w stosunku 1-wiele.
Teraz chciałbym, aby wypisywało mi w liniach kolejno:
komórkę z imieniem, nazwiskiem, przedmiotem , a następnie komórkę z jego wszystkimi ocenami w jednej komórce po przecinkach.

  1. <?php
  2.  
  3. $zapytanie = "SELECT , UCZEN.IMIE, UCZEN.NAZWISKO, PRZEDMIOT.PRZEDMIOT, OCENA.OCENA 
  4. FROM PROWADZACY, PRZEDMIOT,OCENA
  5. WHERE UCZEN.ID_UCZEN=OCENA.ID_UCZEN AND PRZEDMIOT.ID_PRZEDMIOT=OCENA.ID_PRZEDMIO
    T
  6.  ";
  7.  
  8. $wykonaj = mysql_query ($zapytanie);
  9.  
  10. while($wiersz=mysql_fetch_array ($wykonaj)) {
  11. echo " <tr>
  12. <td width=\"51\">".$wiersz['PRZEDMIOT']."</td>
  13. <td width=\"100\">".$wiersz['IMIE']."</td>
  14. <td align=center width=\"128\">" .$wiersz['NAZWISKO']. "</td>
  15.  
  16. ...
  17. <td >
  18. ...
  19.  
  20. <P>" .$wiersz['OCENA']. ",'';  /*JAK TO WYDOBYĆ questionmark.gif?*/
  21. ...
  22.  
  23. </td>
  24. ...
  25.  
  26. </tr>";
  27.  
  28. }
  29.  
  30.  
  31. ?>


poprawiam
---
nospor



Z góry dzięki

ebe.
Rzast
Zrób coś takiego:
  1. <?php
  2. echo '<pre>';
  3. print_r ($wiersz['OCENA']); 
  4. echo '</pre>';
  5. ?>

i napisz jaki jest wynik.

---- edit ----
albo tak (bardziej ogólnie):
  1. <?php
  2. echo '<pre>';
  3. print_r ($wiersz); 
  4. echo '</pre>';
  5. ?>
bigZbig
W zapytaniu sql zrob SELECT ID_UCZEN ...
  1. <?php
  2.  
  3. $oceny = array();
  4. $wyniki = array();
  5.  
  6. while($wiersz=mysql_fetch_array ($wykonaj)) {
  7. $wyniki[$wiersz['PRZEDMIOT']][$wiersz['ID_UCZEN']] = array(
  8. 'imie' => $wiersz['IMIE'],
  9. 'nazwisko' => $wiersz['NAZWISKO']); 
  10. );
  11. $wyniki[$wiersz['PRZEDMIOT']][$wiersz['ID_UCZEN']]['oceny'][] = $wiersz['OCENA'];
  12. } 
  13.  
  14.  
  15. foreach($wyniki as $przedmiot => $uczen) {
  16. echo $przedmiot.' - '.$uczen['imie'].' '.$uczen['nazwisko'].': '.implode(",", $uczen['oceny']);
  17. }
  18. ?>


Pisalem na szybcika wiec nie gwarantuje ze zadziala.
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.