Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wiele checkboxow
Forum PHP.pl > Forum > Przedszkole
arczi
witam,

oto problem:

mam na stronie 20 pytan w kazdej po 3 checkboxy do zaznaczenia, user zaznacza tylko wybrane przez siebie
przykladowe pytanie do wybrania
Kod
<input type="checkbox"  name="form[33]" value="1">
<input type="checkbox"  name="form[33]" value="2">
<input type="checkbox"  name="form[33]" value="3">


"form[33]" - 33 to oczywiscie id pytania, na stronie wyswietlane sa rozne pytania ('id' nie sa od 1-20, ale losowane)
musze robic to checkboxami a nie radio, nie bede teraz wyjasnial czemu

jak odebrac zaznaczone pytania, tak abym mial id pytania i zaznaczona opcje?

  1. <?php
  2. $f = $_POST['form'];
  3. for($i=0; $i<count($f); $i==) {
  4.  //jesli user zaznaczy 5 pytan, to kod wykona sie 5 razy (do 5-tego id)
  5.  echo $f[$i];
  6.  //jesli id pytania bedzie np. 20 to nawet do niego nie dojdzie
  7. }
  8. ?>


co z tym fantem?
nexis
Przy checkbox, w przeciwieństwie do radio, każdy element musi mieć indywidualną nazwę, np.:

  1. <input type="checkbox" name="check[1]" value="1" />
  2. <input type="checkbox" name="check[2]" value="2" />
  3. <input type="checkbox" name="check[3]" value="3" />


Możesz sobie ewentualnie ułatwić sprawę nazywając je mniej więcej tak:


  1. Pytanie 1:
  2. <input type="checkbox" name="check[1,1]" value="1" />
  3. <input type="checkbox" name="check[1,2]" value="2" />
  4. <input type="checkbox" name="check[1,3]" value="3" />
  5.  
  6. Pytanie 2:
  7. <input type="checkbox" name="check[2,1]" value="1" />
  8. <input type="checkbox" name="check[2,2]" value="2" />
  9. <input type="checkbox" name="check[2,3]" value="3" />


Wtedy w nazwie masz zarówno ID pytania oraz ID odpowiedzi (wystarczy rozdzielić np. poprzez explode" title="Zobacz w manualu PHP" target="_manual)
arczi
po zmienieniu name var_dump() wyswietla mi cos takiego:
Kod
array(2) { ["19, 2"]=>  string(1) "2" ["20, 1"]=>  string(1) "1" }


explode daloby cos gdybym zmienic value, a nie name, right?

chyba, ze da sie z name'm cos wykombinowac (?)
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.