Foros del Web » Programando para Internet » PHP »

Ayuda con encuesta !

Estas en el tema de Ayuda con encuesta ! en el foro de PHP en Foros del Web. Hola a todos Espero q esten super bn.. El problema q tengo es el siguiente: Tengo dos sesiones. uno de admon y otro de usuario.. ...
  #1 (permalink)  
Antiguo 02/04/2008, 16:32
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Ayuda con encuesta !

Hola a todos

Espero q esten super bn..
El problema q tengo es el siguiente:

Tengo dos sesiones. uno de admon y otro de usuario..
el admon crea las preguntas.. de 4 tipos (abierta, unica opcion, multiple opcion y si/no/porq?)
Existe algo q se llama proyectos.. y cada proyecto tiene unas determinadas preguntas..

El archivito se llama: preguntas2a.php

Hasta aqui no problema

Entonces:

En la sesion del usuario.. obviamente este tiene que responder las x preguntas del proyecto seleccionado..

por lo tanto tengo un archivo:
proyectos.php --> que es donde creo los radios, los textarea o lo q se necesita. ademas de realizar el insert

PERO

El usuario debe seleccionar un proyecto.. y depende de éste.. es que salen las respectivas preguntas.. AQUI ES DONDE TENGO EL PROBLEMA

El codigo con el que el user selecciona el proyecto es:
Cita:
<b>Proyecto: &nbsp;&nbsp;&nbsp;</b>
<select name=ProyCodigo value="<?=$fila['ProyCodigo']?>">
<?php
echo "<option value='0'>Seleccione Proyecto a Evaluar.</option>";
$encLista = mysql_query("SELECT * FROM proyecto ORDER BY ProyCodigo") or die("Err al seleccionar los Proyectos");
while($datEnc = mysql_fetch_array($encLista)) {
if ($idop==$datEnc['ProyCodigo'])
echo $seleccionado."<a href='./index.php?id=$datEnc[ProyCodigo]'>";
else
echo "<option value=$datEnc[ProyNombre]>";
echo urldecode($datEnc['ProyNombre']);
echo "</option>";
echo "><a href='./index.php?id=$datEnc[ProyCodigo]'>"; }
mysql_free_result($encLista);
?>
</select><br><br>
NOTA:
La linea en azul es para llevar los resultados a una ventana emergente y desde alli imprimirlos

Y con este codigo hago los INSERT:
Cita:
if (isset($_POST['idencuesta'])) {
$idEncuesta = intval($_POST['idencuesta']);
$listaPreguntas = mysql_query("SELECT proyecto.ProyCodigo, proyecto.ProyNombre, preguntas2a.id_pregunta, preguntas2a.pregunta, tipo_preguntas.descripcion as desc_tipoPregunta, tipo_preguntas.tipo_pregunta "
."FROM proyecto, preguntas2a, tipo_preguntas "
."WHERE proyecto.ProyCodigo = preguntas2a.ProyCodigo AND preguntas2a.tipo_pregunta = tipo_preguntas.tipo_pregunta AND proyecto.ProyCodigo=$idEncuesta ORDER BY id_pregunta");
while($fila = mysql_fetch_array($listaPreguntas)) {
switch ($fila['tipo_pregunta']) {
case 1:
$respuesta = urlencode( $_POST[$fila['id_pregunta']]);
mysql_query("INSERT INTO resp_abiertas2a VALUES(".$_SESSION['id'].",$idEncuesta,".$fila['id_pregunta'].",'$respuesta')") or die("Err en respuestas abiertas");
break;
case 2:
if (isset($_POST[$fila['id_pregunta']])) {
$vector = explode("-",$_POST[$fila['id_pregunta']]);
$opcion = intval($vector[0]);
$calificacion = intval($vector[1]);
mysql_query("INSERT INTO resp_opcion2a VALUES(".$_SESSION['id'].",$idEncuesta,".$fila['id_pregunta'].",'$opcion','$calificacion')") or die(mysql_error());
}
@mysql_free_result($opcLista);
break;
case 3:
$opcLista = mysql_query("SELECT * FROM preg_opciones2a WHERE id_pregunta=".$fila['id_pregunta']." AND ProyCodigo=$idEncuesta ORDER BY id_opcion");
while($opcion = mysql_fetch_array($opcLista)) {
$calificacion = intval($_POST[$fila['id_pregunta']."-".$opcion['id_opcion']]);
mysql_query("INSERT INTO resp_opcion2a VALUES(".$_SESSION['id'].",$idEncuesta,".$fila['id_pregunta'].",".$opcion['id_opcion'].",$calificacion)") or die(mysql_error());
}
@mysql_free_result($opcLista);
break;
case 4:
$respuesta = urlencode($_POST[$fila['id_pregunta'].'-por_que']);
$opcionSeleccionada = intval($_POST[$fila['id_pregunta']]);
mysql_query("INSERT INTO resp_abiertas2a VALUES(".$_SESSION['id'].",$idEncuesta,".$fila['id_pregunta'].",'$respuesta')") or die("Err en respuestas SI/NO");
mysql_query("INSERT INTO resp_opcion2a VALUES(".$_SESSION['id'].",$idEncuesta,".$fila['id_pregunta'].",$opcionSeleccionada,-1)") or die("Err en opc SI/NO");
}
}
echo "Los datos han sido guardados correctamente.";
return;
}
EL PROBLEMA.. es que nose como hacer, para q me reconozca el proyecto seleccionado y así desplegar las preguntas de éste.

Muchas gracias al q me pueda colaborar en este problemita

Ciao

Angie
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales

Última edición por angeliknlopez; 04/04/2008 a las 08:16
  #2 (permalink)  
Antiguo 04/04/2008, 08:17
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Ayuda con encuesta !

alguien q me ayude please.!
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
  #3 (permalink)  
Antiguo 04/04/2008, 08:38
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Ayuda con encuesta !

Código PHP:
<b>Proyecto: &nbsp;&nbsp;&nbsp;</b>
<select name=ProyCodigo value="<?=$fila['ProyCodigo']?>">
<?php
echo "<option value='0'>Seleccione Proyecto a Evaluar.</option>";
$encLista mysql_query("SELECT * FROM proyecto ORDER BY ProyCodigo") or die("Err al seleccionar los Proyectos");
while(
$datEnc mysql_fetch_array($encLista)) {
if (
$idop==$datEnc['ProyCodigo'])
echo 
$seleccionado."<a href='./index.php?id=$datEnc[ProyCodigo]'>";
else
echo 
"<option value=$datEnc[ProyNombre]>";
echo 
urldecode($datEnc['ProyNombre']);
echo 
"</option>";
echo 
"><a href='./index.php?id=$datEnc[ProyCodigo]'>"; }
mysql_free_result($encLista);
?> 
</select><br><br>
Si pasas el id del proyecto al index.php?id=$datEnc[ProyCodigo] pues alli lo rescatas con GET y así obtienes la información de determinado proyecto

Código PHP:
$id $_GET['id']; 
Y haces tu respectiva consulta. creo que eso es lo que necesitas.

Saludos.
  #4 (permalink)  
Antiguo 04/04/2008, 08:41
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Re: Ayuda con encuesta !

Cita:
Iniciado por Carlojas Ver Mensaje
Código PHP:
<b>Proyecto: &nbsp;&nbsp;&nbsp;</b>
<select name=ProyCodigo value="<?=$fila['ProyCodigo']?>">
<?php
echo "<option value='0'>Seleccione Proyecto a Evaluar.</option>";
$encLista mysql_query("SELECT * FROM proyecto ORDER BY ProyCodigo") or die("Err al seleccionar los Proyectos");
while(
$datEnc mysql_fetch_array($encLista)) {
if (
$idop==$datEnc['ProyCodigo'])
echo 
$seleccionado."<a href='./index.php?id=$datEnc[ProyCodigo]'>";
else
echo 
"<option value=$datEnc[ProyNombre]>";
echo 
urldecode($datEnc['ProyNombre']);
echo 
"</option>";
echo 
"><a href='./index.php?id=$datEnc[ProyCodigo]'>"; }
mysql_free_result($encLista);
?> 
</select><br><br>
Si pasas el id del proyecto al index.php?id=$datEnc[ProyCodigo] pues alli lo rescatas con GET y así obtienes la información de determinado proyecto

Código PHP:
$id $_GET['id']; 
Y haces tu respectiva consulta. creo que eso es lo que necesitas.

Saludos.

Hola Carlojas
Muchas gracias

Una preguntica mas..
Ese GET.. se pondria despues del cerrar el select???

Gracias
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
  #5 (permalink)  
Antiguo 04/04/2008, 08:46
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Ayuda con encuesta !

GET es el metodo que estas utilizando en este caso para mandar tu variable idproyecto por URL , la variable según lo que entiendo en tu sistema la rescatas donde(Pagina) vayas a desplegar la información del proyecto por ejemplo en una tabla.




Saludos.
  #6 (permalink)  
Antiguo 04/04/2008, 08:50
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 4 meses
Puntos: 0
De acuerdo Re: Ayuda con encuesta !

Gracias Carlojas
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
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 08:48.