Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zagnieżdżone wyniki pobierane z bazy MySQL, pomóżcie
ebe_x
post 24.01.2006, 15:43:43
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 24.01.2006

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Rzast
post 24.01.2006, 15:54:38
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 24.11.2005
Skąd: Podczerwone

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


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. ?>


Ten post edytował Rzast 24.01.2006, 16:02:15


--------------------
Podhale naprawa komputerów, strony WWW
Go to the top of the page
+Quote Post
bigZbig
post 25.01.2006, 11:00:59
Post #3





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


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.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:17