Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wstawianie zmiennej do tablicy
Forum PHP.pl > Forum > Przedszkole
Mackos
Witajcie, mam drobny problem , który przyznam się szczerze aż wstyd się przyznać że jestem z nim w kropce.
Otóż przetwarzam formularz w którym to użytkownik wybiera ile pól chce wprowadzić, i każde to pole ma jako name ustawioną kolejną liczbę zaczynając od 1
Kod wygląda następująco:
  1. foreach($_POST as $key => $value) {
  2. $data[$key] = ($value);}
  3. $i=1;
  4. While($i<>'50'){
  5. $i++;
  6. $wynik=$data[$i];

I tutaj pojawia się problem ponieważ zmienna przypisywana do $wynik powinna wyglądać np. tak $data['3'] .
Tak więc w jaki sposób wstawić tą zmienną $i do tablicy $data tak żeby po prostu iterowało kolejne pola formularza ?
b4rt3kk
Nie rozumiem co chcesz osiągnąć. Trochę zawile to opisałeś. Dobrze rozumiem, że najpierw użytkownik wpisuje w pole tekstowe czy tam input pewną liczbę n, tak? Klika dalej czy co tam i w wyniku dostaję listę n inputów o nazwach od 1 do n, tak?

  1. for ($i=1; $i<=$n; $i++) {
  2. echo "<input name=\"$i\">";
  3. }
  4.  
  5. // Odczyt wartości tych inputów
  6.  
  7. for ($i=1; $i<=$n; $i++) {
  8. echo $_POST[$i];
  9.  
  10. // Jeśli chcesz to wpisać do jakiejś tam tablicy dodatkowo, tylko nie widzę sensu
  11.  
  12. $tablica[]=$_POST[$i];
  13. }
Mackos
/EDIT
Ok, b4rt3kk faktycznie miałeś racje najprościej jest przez $_POST[$i]; nie wiem czemu sobie utrudniałem życie ;P
b4rt3kk
Cytat(Mackos @ 5.11.2010, 11:32:25 ) *
Nie do końca, użytkownik ma formularz, po kliknięciu 'więcej' dochodzi mu kolejny <textarea name="<?php echo $i; ?>"></textarea>
I teraz właśnie chce to wszystko zapisać do bazy, w dalszej części skryptu mam zrobione jak należy zapisywanie do bazy.
Jednak chodzi mi o to że w sytuacji gdy mam
  1. foreach($_POST as $key => $value) {
  2. $data[$key] = ($value);}

Każda wartość pobrana zapisywana jest pod zmienną $data['nazwa_input'] i co jest problematyczne nazwa okraszona jest apostrofami, ja chce wpisywac w miejsce 'nazwa_input' wartość zmiennej $i lecz samo $data[$i] jak wspominałem nie działa.


Jakie wartości wyświetli taka modyfikacja?

  1. foreach($_POST as $key => $value) {
  2. echo $_POST[$key];
  3. echo $key;
  4. echo $value;
  5. $data[$key] = ($value);
  6. echo $data[$key];
  7. }
  8.  
  9. print_r($data);
  10.  


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-2024 Invision Power Services, Inc.