Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Generowanie tabelki w poziomie? Jak ułożyć pętle?
Forum PHP.pl > Forum > PHP
kukix
Witam.

Potrzebuje wygenerować tabele z pozycjami, ale kolejne pozycje będa dochodziły w poziomie, nei w pionie.. Jak takie coś zaprojektowac?

Znalażłem tak generowaną tabele, ale nie jestem w stanie dojśc, jak dodawac kolejne pozycje do tej tabeli.


Tutaj przykład generowania z poziomie.


Prosze o podpowiedź.. jak sięza to zabrac?
Kshyhoo
A użyłeś szukajki?
kukix
Cytat(Kshyhoo @ 20.03.2012, 17:14:45 ) *
A użyłeś szukajki?


Dzięki, jest to jednak dużo mniej rozbudowany prtzyklad.

Wiem, że wystarczy operować obliczoną resztą, żeby dodac znak nowej lini <tr>

Tutaj jest jednak dużo bardziej skomplikowany przypadek.

Dysponuje tablicą w fiormacie

  1. $dane[0] = array (
  2. nazwa_1 => wartosc_1,
  3. nazwa_2 => wartosc_2,
  4. nazwa_3 => wartosc_3,
  5. nazwa_4 => wartosc_4,
  6. );
  7.  
  8. $dane[1] = array (
  9. nazwa_1 => wartosc_1a,
  10. nazwa_2 => wartosc_2a,
  11. nazwa_3 => wartosc_3a,
  12. nazwa_4 => wartosc_4a,
  13. );
  14.  
  15. $dane[2] = array (
  16. nazwa_1 => wartosc_1b,
  17. nazwa_2 => wartosc_2b,
  18. nazwa_3 => wartosc_3b,
  19. nazwa_4 => wartosc_4b,
  20. );
  21.  


Liczba tych tablic z danymi moze być dowolna.. czyli ilość kolumn też jest dowolna.. tak samo jak ilośc wierszy zalezna jest od ilości danych w pojedyńczej tablicy..

Chciałem wyświetlić tabelke w formacie:

  1. <tr>
  2. <td>nazwa_1</td><td>wartosc_1</td><td>wartosc_1a</td><td>wartosc_1b</td></tr>
  3. <tr>
  4. <td>nazwa_2</td><td>wartosc_2</td><td>wartosc_2a</td><td>wartosc_2b</td></tr>
  5. <tr>
  6. <td>nazwa_3</td><td>wartosc_3</td><td>wartosc_3a</td><td>wartosc_3b</td></tr>
  7. <tr>
  8. ... itd </tr>


Czy ktoś ma pomysł jak to rozwiązać?
cudny
  1. $dane[0] = array (
  2. 'nazwa_1' => 'wartosc_1',
  3. 'nazwa_2' => 'wartosc_2',
  4. 'nazwa_3' => 'wartosc_3',
  5. 'nazwa_4' => 'wartosc_4'
  6. );
  7.  
  8. $dane[1] = array (
  9. 'nazwa_1' => 'wartosc_1a',
  10. 'nazwa_2' => 'wartosc_2a',
  11. 'nazwa_3' => 'wartosc_3a',
  12. 'nazwa_4' => 'wartosc_4a'
  13. );
  14.  
  15. $dane[2] = array (
  16. 'nazwa_1' => 'wartosc_1b',
  17. 'nazwa_2' => 'wartosc_2b',
  18. 'nazwa_3' => 'wartosc_3b',
  19. 'nazwa_4' => 'wartosc_4b'
  20. );
  21. $newArray = array();
  22. $len = count($dane);
  23. for($i=0;$i<$len;$i++) {
  24. $newArray = !empty($newArray) ? array_merge_recursive($newArray,$dane[$i]) : $dane[$i];
  25.  
  26. }
  27. $res = '';
  28. foreach($newArray as $ind => $val) {
  29. $len = count($val);
  30. $res .= '<tr><td>'.$ind.'</td>';
  31. for($i=0;$i<$len;$i++) {
  32. $res .= '<td>'.$val[$i].'</td>';
  33. }
  34. $res .= '</tr>';
  35. }
  36. echo '<table border="1">'.$res.'</table>';

GOTOWIEC - CHCE POMÓGŁ biggrin.gif
kukix
Działaaaaa... elegancko.. dzieki smile.gif

Jest tylko problem, że jak np w któreś tablicy nie ma danego indeksu, to tabelka się źle wyświetla.

Np jeżeliby brakowało takiego wpisu w tablicy: $dane[1][nazwa_3] to przeskakuje wpis w tablicy $dane[2]

Czy można cośz tym zrobić? Czy można jakoś zsynchronizować te klucze?
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.