Tych pól input może być więcej np. jeszcze z 5 razy. Nie wiadomo ile jest tych pól input pomiędzy ponieważ
te pola są generowane dynamicznie, to user ustala sobie ile tych pól ma być. I teraz czy istnieje jakiś sposób aby po wywołaniu ‘foreach’ pokazały się najpierw
np te trzy pierwsze wartości potem gdzieś dalej w kodzie mogę sobie wywołać te dwie następne itd. Bo teraz to wypisuje mi oczywiście wszystkie naraz a ja chcę
$array = $_POST['question'];$i = 0, $x = count($array); $i $x; $i++) { echo $array[$i]. ';[/code]
Które elementy zostaną wyświetlone to już kwestia doboru odpowiednich instrukcji inicjalizujących i wyrażenia warunkowego. Numer ostatniego wyświetlonego elementu, następnego, samą tablice z tymi danymi, i inne przydatne dane możesz przechowywać np. w sesji/bazie/ciastkach/pliku itp. Aby dynamicznie, po załadowaniu strony, wyświetlać użytkownikowi kolejny wpis, przydało by się skorzystać dodatkowo z dobrodziejstw technologi AJAX. Oczywiście nie zapomnij sprawdzać, czy w ogóle jest co jeszcze wyświetlić, czy kolejny element istnieje.
tylko, że w pętli for nie może być np $i < $x; bo nie wiadomo ile będzie tych formularzy bo one są generowane w JS za pomocą pętli for:
for(var j=1; j <= ilosc_opcji; j++){
tmp_question = tmp_question + ‘’;
}
Po prostu skrypt kilka razy będzie wchodził do tej pętli, zależy to od użytkownika. Więc name=“question[]” niczym się nie różni od innych i tu pojawia się właśnie problem.
Możesz tam dać wartość konkretnych kluczy, po kolei.
<input type="hidden" value="'.$topic[0].'" name="topic[]" />input type="hidden" value="'.$topic[1].'" name="topic[]" /input type="hidden" value="'.$topic[2].'" name="topic[]" / [/code]
I w ogóle element hidden w formularzu to raczej średni pomysł, na przekazanie tych danych dalej.
Może lepiej użyć sesji, na przykład? http://www.php.net/manual/pl/book.session.php
Wtedy będziesz mógł sobie przechować całość, w prosty sposób.
[code=php]$_SESSION['topic'] = $topic;
Myślę, że warto poczytać o tym.