Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Pobieranie danych z formularza do tablicy asoc.
Forum PHP.pl > Forum > Przedszkole
Flake
Witam - mam formularz dynamiczny (raz jest w nim 10x pole tekstowe a raz np 4x) - wygląda to tak:

  1. <form method="post" action="pobierz.php">
  2. Imie: <input type="text" name="dane[]" />
  3. Nazwisko: <input type="text" name="dane[]" />
  4. Wiek: <input type="text" name="dane[]" />
  5.  
  6. Imie: <input type="text" name="dane[]" />
  7. Nazwisko: <input type="text" name="dane[]" />
  8. Wiek: <input type="text" name="dane[]" />
  9.  
  10. itd...
  11.  
  12. <input type="submit" value="pobierz dane" />
  13. </form>


I teraz moje pytanie: Jak pobrać te dane do tablicy asocjacyjnej która będzie wyglądała tak:

  1. (
  2. [0] => Array
  3. (
  4. [imie] => Jan
  5. [nazwisko] => Kowalski
  6. [wiek] => 23
  7. )
  8.  
  9. [1] => Array
  10. (
  11. [imie] => Jan
  12. [nazwisko] => Nowak
  13. [wiek] => 24
  14. )
  15. itd...


Póki co udało mi się pobrać dane do takiej tablicy:

  1. [0] => Jan
  2. [1] => Kowalski
  3. [2] => 23
  4. [3] => Jan
  5. [4] => Nowak
  6. [6] => 24
  7. itd...
  8. )


niestety ciężko jest mi operować na danych z 2giej tablicy więc chciałem to zapisać do tablic asocjacyjnych zagnieżdżonych - no i nie wiem jak to zrobić - jakieś sugestie?
tehaha
to zamiast dawać name=dane[] do każdego zrób: imie[], nazwisko[], wiek[], a potem w pętli przepisz to do takiej tablicy jak chcesz
Flake
No ok tylko nie bardzo wiem gdzie użyć tej pętli

myślałem o takiej konstrukcji:
  1. $tablica = array(
  2. for($n=0 ; n jest rowne wielkosci tablicy; $n++)
  3. {"nazwa" => nazwa[$n],
  4. "ilosc" => ilosc[$n],
  5. "cena" => cena[$n]
  6. });



Niestety nie da się tak zrobić i nie mam pomysłu co z tym dalej
tehaha
odpal sobie ten kod i przeanalizuj jak działa:
  1. <?php
  2. if(isset($_POST['submit']) && is_array($_POST['imie']) && is_array($_POST['nazwisko']) && is_array($_POST['wiek']))
  3. {
  4. $num = count($_POST['imie']);
  5. $all_data = array();
  6. for($i=0;$i<$num;++$i)
  7. {
  8. $imie = $_POST['imie'][$i];
  9. $nazwisko = $_POST['nazwisko'][$i];
  10. $wiek = $_POST['wiek'][$i];
  11. $all_data[] = array('imie'=>$imie, 'nazwisko'=>$nazwisko, 'wiek'=>$wiek);
  12. }
  13. print_r($all_data);
  14. }
  15.  
  16. ?>
  17. 1.
  18. <form method="post" action="">
  19. 2.
  20. Imie: <input type="text" name="imie[]" />
  21. 3.
  22. Nazwisko: <input type="text" name="nazwisko[]" />
  23. 4.
  24. Wiek: <input type="text" name="wiek[]" />
  25. 5.
  26.  
  27. 6.
  28. Imie: <input type="text" name="imie[]" />
  29. 7.
  30. Nazwisko: <input type="text" name="nazwisko[]" />
  31. 8.
  32. Wiek: <input type="text" name="wiek[]" />
  33. 9.
  34.  
  35. 10.
  36. itd...
  37. 11.
  38.  
  39. 12.
  40. <input type="submit" name="submit" value="pobierz dane" />
  41. 13.
  42. </form>


$all_data to już ta poukładana tablica
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.