cuestionario php

Iniciado por lanjarón, 16 Marzo 2010, 11:47 AM

0 Miembros y 1 Visitante están viendo este tema.

lanjarón

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


Castg!

no comprendo las propiedades del checkbox. seria mucha molestia que pongas el codigo??

lanjarón

<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?

Castg!

pero ponele distintos nombres, como por ejemplo:
Código (html4strict) [Seleccionar]

<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...

Código (php) [Seleccionar]
$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...

lanjarón

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!

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

fede_cp

con javascript se peude hacer algo parecido con DOM, sacando de un mismo id, y haciendo arrays de ese id.


saludos! hay varias formas
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

KrossPock

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:

Código (php) [Seleccionar]
<?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