Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] tablica i wyświetlanie danych o określonej wartości
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam

Jako że mój post był trochę nie jasny napiszę od nowa.

Mam kod którym pobieram do tablicy wielowymiarowej (dane o zawodniku i jego wynikach z konkurencji).

  1. <?php
  2.  
  3. require_once "core.php";
  4.  
  5. $sql_wynik = mysql_query('SELECT * FROM zawodnik AS z JOIN wyniki AS k ON k.id_zaw = z.id_zawodnika') or die(mysql_error());
  6.  
  7. while($r = mysql_fetch_array($sql_wynik, MYSQL_ASSOC)){
  8. $tab[] = $r;
  9. }
  10.  
  11. foreach ($tab as $a => $b) {
  12. $wynik[$a] = $b['wynik'];
  13. $uwagi[$a] = $b['uwagi'];
  14. $uwagi1[$a] = $b['uwagi1'];
  15.  
  16.  
  17. }
  18. array_multisort($wynik, SORT_DESC, $uwagi, SORT_ASC, $uwagi, SORT_DESC, $tab);
  19.  
  20.  
  21. $i=1;
  22. echo '<table border="1">';
  23. echo '<tr>';
  24. echo '<td>L.P</td>';
  25. echo '<td>Nazwisko</td>';
  26. echo '<td>Imie</td>';
  27. echo '<td>Wynik</td>';
  28. echo '<td>Uwagi</td>';
  29. echo '</tr>';
  30.  
  31. foreach ($tab as $a) {
  32. echo '<tr>';
  33. echo '<td>'.$i++.'</td>';
  34. echo '<td>'.$a['nazwisko_zawodnika'].'</td>';
  35. echo '<td>'.$a['imie_zawodnika'].'</td>';
  36. echo '<td>'.$a['wynik'].'</td>';
  37. if($a['uwagi'] > 0){
  38. echo '<td>'.$a['uwagi'].'</td>';
  39. }
  40. if($a['uwagi1'] > 0){
  41. echo '<td>'.$a['uwagi1'].'</td>';
  42. }
  43. }
  44.  
  45. echo $tab['wynik'];
  46.  
  47.  
  48. ?>


tabela w bazie danych wyniki zawiera id_zawodnika, id_konkurencji, wynik

tablica zwraca mi

  1. array(2) {
  2. [0]=>
  3. array(10) {
  4. ["id_zawodnika"]=>
  5. string(1) "1"
  6. ["nazwisko_zawodnika"]=>
  7. string(11) "Nazwisko"
  8. ["imie_zawodnika"]=>
  9. string(6) "Imie "
  10. ["klub_zawodnika"]=>
  11. string(0) ""
  12. ["id_wyniku"]=>
  13. string(1) "1"
  14. ["id_zaw"]=>
  15. string(1) "1"
  16. ["id_konk"]=>
  17. string(1) "1"
  18. ["wynik"]=>
  19. string(2) "93"
  20. ["uwagi"]=>
  21. string(4) "60mm"
  22. ["uwagi1"]=>
  23. string(0) ""
  24. }


i chciał bym wyświetlić dane w tabeli w takiej formie dla każdej konkurencji

  1. $i=1;
  2. echo '<h1>TU NAZWA KONKURENCJI</h1>';
  3. echo '<table border="1">';
  4. echo '<tr>';
  5. echo '<td>L.P</td>';
  6. echo '<td>Nazwisko</td>';
  7. echo '<td>Imie</td>';
  8. echo '<td>Wynik</td>';
  9. echo '<td>Uwagi</td>';
  10. echo '</tr>';
  11.  
  12. foreach ($tab as $a) {
  13. echo '<tr>';
  14. echo '<td>'.$i++.'</td>';
  15. echo '<td>'.$a['nazwisko_zawodnika'].'</td>';
  16. echo '<td>'.$a['imie_zawodnika'].'</td>';
  17. echo '<td>'.$a['wynik'].'</td>';
  18. if($a['uwagi'] > 0){
  19. echo '<td>'.$a['uwagi'].'</td>';
  20. }
  21. if($a['uwagi1'] > 0){
  22. echo '<td>'.$a['uwagi1'].'</td>';
  23. }
  24. }


czyli jak jest 10 konkurencji to utworzy mi to 10 tabeli dla każdej konkurencji
melkorm
Podczas pobierania rekordów stwórz tablicę dwuwymiarową gdzie indeksem będzie numer kategorii, a wartością tablica z rekordami dla danej kategorii.
ghastblood
Proszę o pomoc
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.