Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie danych z tablicy foreach
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam, po wysłaniu danych z formularza otrzymuję tablicę:

  1. Array
  2. (
  3. [imie_nazwisko] => Kamil
  4. [przeznaczenie] => zakup
  5. [identyfikator] => Array
  6. (
  7. [0] => 9335 | 0
  8. [1] => 9716 | 0
  9. [2] => 9723 | 0
  10. [3] => 8936 | 1
  11. )
  12. )
  13.  

po przepuszczeniu jej przez pętlę:
  1. <table border="1" cellspacing="2">
  2.  
  3. <?
  4.  
  5.  
  6. foreach ( $identyfikator as $id_book => $id )
  7. {
  8. echo '<tr><td width="20%"><b>'.$id_book.'</b></td>';
  9.  
  10. for ( $i = 0; $i < count($id); $i++ )
  11. {
  12. echo '<td width="20%">'.$id[$i].'</td>';
  13. }
  14.  
  15. echo '</tr>';
  16. }
  17. ?>
  18. </table>
  19. </body>
  20. </html>
  21. <?

dostaję taki wynik:
  1.  
  2. 0 9
  3. 1 9
  4. 2 9
  5. 3 8
  6.  

gdzie popełniam błąd że pokazuje mi wyłącznie pierwsze znaki?
kapslokk
Po wejściu do pętli:
  1. foreach ( $identyfikator as $id_book => $id )
  2. {

$id to string, np: 9335 | 0

count($id) zwraca Ci 1, więc echo $id[$i] wyświetla pierwszy znak.
krzesik
OK, głupia sprawa, ale jeszcze jedno aby to "rozdzielić" musze zastosować explode np.



  1. $identyfikator = explode(" | ", $identyfikator);
  2.  
  3. foreach ( $identyfikator as $id_book => $id )
  4. {
  5. echo '<tr><td width="20%"><b>'.$id_book.'</b></td>';
  6.  
  7. for ( $i = 0; $i < count($id); $i++ )
  8. {
  9. echo '<td width="20%">'.$id.'</td>';
  10. }
  11.  
  12. echo '</tr>';
  13. }


jak to ładnie wyświetlić?
kapslokk
  1. foreach ( $identyfikator as $book )
  2. {
  3. $book = explode("|",$book);
  4. echo '<tr><td width="20%"><b>'.$book[0].'</b></td>';
  5.  
  6.  
  7. echo '<td width="20%">'.$book[1].'</td>';
  8.  
  9.  
  10. echo '</tr>';
  11. }


o to Ci chodzi?
krzesik
dziękuje dokładnie o taki wynik mi chodziło
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.