Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pobieranie wyników z 12 etapów i wyświetlanie ich w tabelach
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam,

mam problem potrzebuje pobrać wyniki z mysql z 12 etapów i wyśwetlić je w formie etap 1 wyniki etap 2 wyniki itd.

wszysto jest w jednej tabeli tzn

mamy tak

id|id_zawodnika|id_konkurencji|etap|wynik
Turson
  1. $stmt = mysql_query("SELECT * FROM tabela WHERE warunki");
  2. while($row=mysql_fetch_assoc($stmt)){
  3. echo "Etap $row[etap] | wynik $row[wynik] <br>";
  4. }
ghastblood
Kurde źle to wyjaśniłem twój kod wyświetli etapy można je nawet posortować przez zapytanie. Tylko ja potrzebował bym zrobić. Nagłówek etap następnie tabela z danymi osobowymi oraz wyniki sortowane od najwyższego do najniższego. Czyli podwójne sortowanie.


naprawde nikt nie jest mi w stanie pomóc ?


wpadłem na coś takiego ale nie działa tak jak powinno

  1. <?php foreach($wyniki as $r):
  2. for($s=1; $s<=12; $s++):
  3. if($r['stage'] == $s):
  4. echo 'stage'.$s;
  5. echo '<br>';
  6. echo $r['nazwisko'];
  7. endif;
  8. endfor;
  9. endforeach;
  10. ?>
trueblue
Ustaw domyślnie zmienną np. $etap=null.
W pętli porównaj nazwę czy też id_etapu (nie wiem co masz w kolumnie "etap") ze zmienną $etap.
Jeśli różnią się, to drukuj nazwę i zapisz ją w zmiennej $etap.
Jeśli się nie różnią, to nie drukuj.
Pozostałe dane drukuj zawsze.

P.S. Dane przetwarzane w pętli muszą być posortowane według etapu.
ghastblood
Kurcze ale mam problemy z tabelą html oraz sortowaniem wyników teraz

  1. $stage = null;
  2. foreach($wyniki as $r):
  3. echo '<table width="100%" style="border:1px solid #000" rules="all">
  4. <tr>
  5. <td>L.P</td>
  6. <td>Nazwisko</td>
  7. <td>Imię</td>
  8. <td>Alias</td>
  9. <td>Wynik</td>
  10. </tr>';
  11. if($r['stage'] != $stage):
  12.  
  13. echo '<tr>';
  14. echo '<td>'.$r['nazwisko'].'</td>';
  15. echo '<td>'.$r['nazwisko'].'</td>';
  16. echo '<td>'.$r['imie'].'</td>';
  17. echo '<td>'.$r['alias'].'</td>';
  18. echo '<td>'.$r['suma'].'</td>';
  19. echo '</tr>';
  20. endif;
  21.  
  22. endforeach;


obenie kod otwiera dla każdego rekordu znacznik table a chciał bym zrobić stage 1 table wyniki wszystkich osób (sortowanie ASC dla wyników) stage2 tabela wyniki

kujol
znacznik table wyrzuć przed pętlę
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.