le he dado muchas vueltas y no s e como soulicionarlo. os cuento
tengo un cuestionario donde cada input es un checkbox, (loo utilizo para una pregunta de verdadero-falso). cada input tiene un name="id[]" y un value="true" o false. lo q pasa es como si el array almacenara primero las casillas marcadas (true) y las no marcadas las almacena al final. ejemplo
1 marcada
2 no marcada
3 marcada
4 no marcada
id[0]=marcada // valor true
id[1]=marcada // valor true
id[2]=no marcada // sin valor
id[3]=no marcada// sin valor
necesito almacenar en un array para luego comparar con los valores almacenados en la base de datos
gracias
no comprendo las propiedades del checkbox. seria mucha molestia que pongas el codigo??
<input type="checkbox" name="id1[]" value="TRUE" />opcion1
<input type="checkbox" name="id1[]" value="TRUE" />opcion2
<input type="checkbox" name="id1[]" value="TRUE" />opcion3
<input type="checkbox" name="id1[]" value="TRUE" />opcion4
-------------------------------
$id=$_POST['id1'];
for($i=0;$i<4;$i++){
echo "iteracion".$i;
echo $id[$i];
}
--------------------------------------
ejemplo
marco opcion2 y opcion4, me imprime:
iteracion0 TRUE
iteracion1 TRUE
iteracion2
iteracion3
debería aparecer
iteracion0
iteraacion1 TRUE
iteracion2
iteracion3 TRUE
¿por qye pasa esto?
pero ponele distintos nombres, como por ejemplo:
<input type="checkbox" name="id1" value="TRUE" />opcion1
<input type="checkbox" name="id2" value="TRUE" />opcion2
<input type="checkbox" name="id3" value="TRUE" />opcion3
<input type="checkbox" name="id4" value="TRUE" />opcion4
porq pensa que html no trabaja con arrays...
$id=array($_POST['id1'],$_POST['id2'],$_POST['id3'],$_POST['id4']);
for($i=0;$i<4;$i++){
echo "iteracion".$i;
echo $id[$i];
}
ahora tendria que ir mejor...
el problema es q el cuestionario es bastante largo y con varias opciones, tng una base de datos con las erespuestas, y lo que quería era hacer un bucle para implementarlo de una manera más sencilla
muchas gracias castg!
denada, pero va a ser dificil hacerlo todo con el mismo nombre:S asi que te vas a tener que poner a cambiar todos :S
con javascript se peude hacer algo parecido con DOM, sacando de un mismo id, y haciendo arrays de ese id.
saludos! hay varias formas
Podes meter a todas en un array con un bucle...
Por ejemplo:
tus checks se van a llamar id1, id2, id3, idn
Entonces despues harias algo asi:
<?php
$checks=array();//checks ahora es un array vacio
for($i=1;$i<=8;$i++){//en este caso serian 8 checkbox, por ello el numero 8, vos lo modificas dependiendo de el numero de checkboxs
array_push($checks,$_GET["id$i"];//vamos agregando en el array todos los checks
}
?>
Alli tendrias todos los checks en un array, no probe el code, pero me parece que deberia funcionar