Foros del Web » Programando para Internet » PHP »

Validar select múltiple

Estas en el tema de Validar select múltiple en el foro de PHP en Foros del Web. Hola. Espero este bien este problema en este foro. Tengo una página con un cuestionario, el cual tanto preguntas como repuestas, las obtengo de unas ...
  #1 (permalink)  
Antiguo 20/02/2010, 13:41
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Validar select múltiple

Hola.

Espero este bien este problema en este foro.

Tengo una página con un cuestionario, el cual tanto preguntas como repuestas, las obtengo de unas tablas en mysql, ya que el punto es que el cuestionario pueda ser modificado agregando/eliminando preguntas desde la tabla.

Pues la manera de responder a esas preguntas las solucioné con un select múltiple.
La tabla para las respuestas consta del campo valor y el otro es resp. Por ejemplo:
0 - Elige la respuesta
1 - Siempre
2 - Frecuentemente
.... etc. etc.

Ahora, el punto es que quiero validar que el usuario al mandar el cuestionario, haya elegido opciones diferentes a 0, puesto que ese sería un valor nulo (ni modo que respondan Elige la respuesta).
El código donde escribo las respuestas en el select múltiple es este:
Código:
echo"<select name='respuesta[]' id='inputs' >";

																	$resp_cuest=mysql_query("select * from cuest_resp");

																		while($row=mysql_fetch_array($resp_cuest)) 
																			{
										
																				echo "<option value=' $row[idresp] '>$row[desc_resp]</option>";

																			}

																echo "</select>";
cuest_resp es la tabla donde tengo las respuestas, como verán en la parte del option value, es donde va el valor de la respuesta [idresp] (0,1,2,3...) y [desc_resp] la respuesta en sí.

Ya traté de validar el arreglo respuestas[] antes de que se envie el cuestionario, con código php, pero nada, también intenté con un javascript, pero nada, no los pongo porque creo estan bastante mal.

Espero puedan ayudarme.

Gracias por las respuestas y su tiempo.

Saludos :)
  #2 (permalink)  
Antiguo 20/02/2010, 15:19
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Validar select múltiple

Si te entendi bien, respuesta[] seria parte del $row[respuesta], entonces para validarlo seria asi:

Código PHP:
Ver original
  1. if($_POST[respuesta] == 0){
  2. echo "Elige una respuesta";
  3. }else
  4. {
  5. Procesamos la respuesta con la pregunta
  6. }


Si te entendi mal, se mas detallado y consiso al darl codigo

Saludos
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #3 (permalink)  
Antiguo 20/02/2010, 17:11
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Validar select múltiple

Cita:
Iniciado por tonchii Ver Mensaje
Si te entendi bien, respuesta[] seria parte del $row[respuesta], entonces para validarlo seria asi:

Código PHP:
Ver original
  1. if($_POST[respuesta] == 0){
  2. echo "Elige una respuesta";
  3. }else
  4. {
  5. Procesamos la respuesta con la pregunta
  6. }


Si te entendi mal, se mas detallado y consiso al darl codigo

Saludos
En realidad si respuesta[] es un array, estarias preguntando si un array es igual a 0, lo cual es absurdo...

Lo que habria que hacer es iterar los resultados, asi:

Código PHP:
$res $_POST['respuesta'];

foreach(
$res as $r){

# solo para que veas que te trae los resultados
   
echo $r;

__________________
HV Studio
Diseño y desarrollo web
  #4 (permalink)  
Antiguo 20/02/2010, 18:17
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Validar select múltiple

Cita:
Iniciado por jackson666 Ver Mensaje
En realidad si respuesta[] es un array, estarias preguntando si un array es igual a 0, lo cual es absurdo...

Lo que habria que hacer es iterar los resultados, asi:

Código PHP:
$res $_POST['respuesta'];

foreach(
$res as $r){

# solo para que veas que te trae los resultados
   
echo $r;

Claro, yo interprete que como el ya tenia las peguntas y las respuestas y las extraia de la BD las mostraba con un $row[], entonces ahi si sirve comparar con 0

Saludos
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #5 (permalink)  
Antiguo 22/02/2010, 12:33
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Validar select múltiple

Gracias por su tiempo...

Como se habrán dado cuenta, tengo en una tabla de mysql, tanto el valor de las respuestas del cuestionario $row[idresp], como la descripción en sí $row[desc_resp]:

<option value=' $row[idresp] '>$row[desc_resp]</option>

respuesta[] es el arreglo (y nombre del select múltiple) donde guardo todos los valores que se hayan escogido en los selects, como son 24 preguntas (creo 24 selects), y, guardo 24 valores (en otra tabla), que pueden ser 1,2,3,4,5, excepto 0, que es el valor que trato de buscar al validar respuesta[].

Había pensado un script de php que antes de mandar el cuestionario (con if($_POST)), barriera todo el arreglo en busca de un valor cero, y si es el caso, evitar que se envíe el cuestionario y enviar una alerta al usuario de que debe responder todo el cuestionario.

...Ya he procesado ese select múltiple (respuesta[]) y si envía los 24 valores y los guarda en otra tabla que esta definida para almacenar esos valores, pero necesito validar ese cuestionario para que no envíe la respuesta con valor 0...

Wow espero no haber enredado más las cosas. Probaré barriendo el arreglo en búsqueda de un valor cero.

Gracias tonchii y jackson666!!!

Saludos :)
  #6 (permalink)  
Antiguo 08/03/2010, 10:22
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Validar select múltiple

Hola.

Pues ya intenté varias soluciones y nada.
Incluso ya busqué dentro del foro, probé todas las posibles soluciones pero no funciona.

Espero alguien me pueda apoyar.

Gracias.
Saludos :)

Etiquetas: múltiple, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:13.