Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienna liczba pól formularza
Forum PHP.pl > Forum > PHP
Wieloryb
Witam
Chcę zrobić www, na którym będzie można liczyć ocenę, która wypada z przedmiotu w mojej szkole. Wzór jest taki - (ocena 1 * współczynnik + ocena 2 * współczynnik ...)/ (ocena maksymalna 1 * współczynnik + ocena maksymalna 2 * współczynnik ... )* 100%
Tak więc w zależności od tego jaką ilość ocen mam do policzenia, chcę, żeby tyle pól się pokazywało. Tzn na stronie 1 podaje liczbę ocen jaką chce liczyć, na stronie 2 wyświetla się liczba formularzy tyle, ile wybrałem wcześniej. Mam problem jak to zrobić. PHP dopiero zaczynam się uczyć i takich rzeczy jeszcze nie umiem smile.gif Mam nadzieję, że podacie mi jakieś wskazówki / gotowy skrypt jak to zrobić (wolałbym wskazówki tongue.gif )

Wierzę, że wiecie o co mi chodzi i że nie zamotałem aż tak bardzo winksmiley.jpg

Pozdrawiam
Wieloryb
phpion
Na pierwszej stronie robisz formularz, w którym wpisuje się liczbę pól na drugiej stronie. Na drugiej stronie:
  1. <?php
  2. // odbierz parametr ze strony nr 1
  3. $liczba_pol = $_POST['liczba_pol'];
  4.  
  5. // wykonujesz tyle petli ile potrzeba
  6. for ($i=0; $i<$liczba_pol; $i++) {
  7. echo <input type="text" name="ocena[]" />
  8. }
  9. ?>

Zauważ, że pole ma nazwę "ocena[]" czyli po wysłaniu formularza ze strony nr 2 otrzymasz tablicę. Odwołujesz się do niej poprzez $_POST['ocena'][0], $_POST['ocena'][1] itd...
netmare
hint 1: pętla for
hint 2: echo('<input ...... name="ocena'.$jakas_zmienna_z_for.'"/>'); albo robienie w php zastąpić przez js
phpion
Cytat(netmare @ 20.12.2007, 14:12:29 ) *
hint 2: echo('<input ...... name="ocena'.$jakas_zmienna_z_for.'"/>'); albo robienie w php zastąpić przez js

Właśnie to rozwiązanie jest do bani, później będzie kłopot z odwołaniem się do zmiennych z formularza. Dużo lepiej zamiast "ocenaX" dac "ocena[]".
netmare
@phpion.com

ja tu nie widzę problemu, chociaż Twoje jest faktycznie wygodniejsze...

for($i=1;i<=$_POST['ile'];i++) $cos=$POST['ocena'.$i];

Edit: Po prostu jak wyświetlałem temat to Twojej odpowiedzi nie było, tak bym się nie wcinał smile.gif
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.