Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: lanjarón en 16 Marzo 2010, 11:47 AM

Título: cuestionario php
Publicado por: lanjarón en 16 Marzo 2010, 11:47 AM
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

Título: Re: cuestionario php
Publicado por: Castg! en 16 Marzo 2010, 13:58 PM
no comprendo las propiedades del checkbox. seria mucha molestia que pongas el codigo??
Título: Re: cuestionario php
Publicado por: lanjarón en 18 Marzo 2010, 10:47 AM
<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?
Título: Re: cuestionario php
Publicado por: Castg! en 18 Marzo 2010, 13:57 PM
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...
Título: Re: cuestionario php
Publicado por: lanjarón en 18 Marzo 2010, 14:05 PM
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!
Título: Re: cuestionario php
Publicado por: Castg! en 18 Marzo 2010, 14:10 PM
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
Título: Re: cuestionario php
Publicado por: fede_cp en 18 Marzo 2010, 14:42 PM
con javascript se peude hacer algo parecido con DOM, sacando de un mismo id, y haciendo arrays de ese id.


saludos! hay varias formas
Título: Re: cuestionario php
Publicado por: KrossPock en 21 Marzo 2010, 05:14 AM
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