Foros del Web » Programando para Internet » PHP »

Cuestionario en php y mysql

Estas en el tema de Cuestionario en php y mysql en el foro de PHP en Foros del Web. Hola a todos los foreros! Tengo un problem en un cuestionario (o test) ke stoy haciendo. Consta de x preguntas con 3 opciones de respuesta ...
  #1 (permalink)  
Antiguo 09/02/2007, 19:22
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Cuestionario en php y mysql

Hola a todos los foreros!

Tengo un problem en un cuestionario (o test) ke stoy haciendo.

Consta de x preguntas con 3 opciones de respuesta cada una. Cada opción tiene un valor (100, 80 y 50) y al final me arroje un resultado (como un promedio).
En donde estoy atorada es como hacer las tablas de la base de datos para ello.
Según yo hice 3 tablas, una tabla ke guarde las preguntas y otra para las respuestas, con su "id" respectivamente. y la otra donde se guarden los votos. (catalogo_preguntas, catalago_respuestas y votos)

el resultado de los votos los guarda, y sí hace el promedio, pero ahora lo que necesito es como hacerle para que cuando le dé click en " Ver cuestionario" me muestre el test con las respuestas que el usuario seleccionó, no sé como relacionarlo para que haga eso.

Tal vez mi error sea ke los campos de la tabla votos vaya dentro de la tabla catalogo_respuestas. será? o crear otros campos dentro de catalogo-respuestas? tendrán alguna otra idea?
o tal vez ando perdida en el codigo de la consulta para extraer las respuestas, stoy un poco confundida

Espero su pronta ayuda y me iluminen para sacar adelante este proyectito, gracias ;)
  #2 (permalink)  
Antiguo 09/02/2007, 20:36
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Cuestionario en php y mysql

lo que podes hacer es ir guardando los resultasdos en una variable de session. Lo que guardarias en esta variable es un arreglo con las respuestas. Cuando llegues al final del cuestionario imprimi el arreglo.

$respuesta[]= de dodne saques la respuesta
$_session['cuestionario']=$respuestas.
para imprimir
$_session['cuestionario'][0..n]



saludos
  #3 (permalink)  
Antiguo 10/02/2007, 01:36
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Re: Cuestionario en php y mysql

puedes recojer la IP del usuario y subirla en cada respuesta a tu BD
al final, hacer una consulta con WHERE ip='$ip'
para sacar todas las respuestas del IP seleccionado y mostrarlas con un array

Saludos
  #4 (permalink)  
Antiguo 12/02/2007, 09:52
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Cuestionario en php y mysql

Gracias por responder, pero no me quedó claro lo que me escribiste Carlos, osea que entonces no es necesario modificar la base de datos?
Si te entendí bien, please corrigeme:

$respuesta[]= de dodne saques la respuesta <- Lo que esta dentro de los corchetes no se especifica algo?, y lo que está después del =, ahi entonces escribo la variable de las respuestas o el nombre de la tabla?

$_session['cuestionario']=$respuestas. <- Lo que está entre corchetes es supuestamente el nombre del formulario?

Porfa, me puedes poner un ejemplo, porque sinceramente me confunde un poco la programación en php y casi no uso los arrays

Y MoDoRrO, en tu rspuesta eso implicaria entonces crear un campo u otra tabla donde se guarde la ip?

GRacias por la ayuda. muxas muxas-
  #5 (permalink)  
Antiguo 12/02/2007, 12:04
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Cuestionario en php y mysql

$respuesta[]=numero de la respuesta
esto significa que agrega siempre al final de arreglo

$_session['cuestionario']=$respuestas
cuestionario es la variable a la cual te vas a referir con $_session['cuisetionario'][0..n]


  #6 (permalink)  
Antiguo 13/02/2007, 00:20
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Re: Cuestionario en php y mysql

si, agregas un campo mas a la tabla de respuestas, donde se guardara la IP, al final, pones una consulta ke sea igual ala IP del usuario y mostrar coon un WHILE sus respuestas...

Saludos
  #7 (permalink)  
Antiguo 15/02/2007, 14:28
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Cuestionario en php y mysql

Ok, gracias ModoRro.
Pero con eso de los arrays, me iluminaron un pokito en cuanto a hacer mas eficiente mi codigo, puesto que lo tengo un poco desordenado y no es facil de distinguir...

Ojalá me puedan apoyar. Les explico:

En mi primer mensaje habia comentado de un proyectito de un cuestionario, no? Pues observen el sig codigo, asi empiezo a hacer mi formulario:
Notarán ke puse como comentario donde empieza la pregunta 1, ok? toda esa parte es lo que hace que me muestre la pregunta no.1 y sus 3 posibles respuestas, pero ahora kissiera saber si habrá algun método mejor para esto, pues son 6 preguntas, y así como esta parte, tambien está para la preg 2 y asi sucesivamente...imaginense si fuera como 50 preguntas!!!


Código:
//Conectando a la base de datos.
	$connection = mysql_connect ("localhost")
         or die ("No se puede conectar al servidor");
      mysql_select_db ("base_test")
         or die ("No se puede seleccionar BD");
//Pregunta No. 1

$result1=mysql_query("select * from cat_preg where id_preg = 1", $connection);
$result2=mysql_query("select * from cat_resp where id_resp = 1");
while ($row=mysql_fetch_array($result1))
{

echo '<tr><td>'.$row["id_preg"].'</td>';
echo '<td>'.$row["preg"].'</td></tr>';

	while ($row=mysql_fetch_array($result2))
	{?>
	
    <tr >
      </tr>
        <td> </td> <td><input type=radio name=RespPreg1 value=a><?=$row['resp1'];?>
      </td>
     
    <tr>
        <td> </td><td><input type=radio name=RespPreg1 value=b><?=$row['resp2'];?></td>
    </tr>
    
	<tr>
        <td> </td><td><input type=radio name=RespPreg1 value=c><?=$row['resp3'];?></td>
    </tr>
    
	<tr align=left>
      <td height=20 colspan=2>
	
<?	}
}
Por eso ahora que me comentaste lo de los Arrays, pues supongo que igual para esto debo utilizarlo tambien...Pero no sé cómo hacerlo o cómo empezar.

Espero me iluminen para hacer esto,
D antemano muxas gracias!!!!
  #8 (permalink)  
Antiguo 15/02/2007, 17:18
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 44
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Cuestionario en php y mysql

Ok, gracias ModoRro.
Pero con eso de los arrays, me iluminaron un pokito en cuanto a hacer mas eficiente mi codigo, puesto que lo tengo un poco desordenado y no es facil de distinguir...

Ojalá me puedan apoyar. Les explico:

En mi primer mensaje habia comentado de un proyectito de un cuestionario, no? Pues observen el sig codigo, asi empiezo a hacer mi formulario:
Notarán ke puse como comentario donde empieza la pregunta 1, ok? toda esa parte es lo que hace que me muestre la pregunta no.1 y sus 3 posibles respuestas, pero ahora kissiera saber si habrá algun método mejor para esto, pues son 6 preguntas, y así como esta parte, tambien está para la preg 2 y asi sucesivamente...imaginense si fuera como 50 preguntas!!!


Código:
//Conectando a la base de datos.
	$connection = mysql_connect ("localhost")
         or die ("No se puede conectar al servidor");
      mysql_select_db ("base_test")
         or die ("No se puede seleccionar BD");
//Pregunta No. 1

$result1=mysql_query("select * from cat_preg where id_preg = 1", $connection);
$result2=mysql_query("select * from cat_resp where id_resp = 1");
while ($row=mysql_fetch_array($result1))
{

echo '<tr><td>'.$row["id_preg"].'</td>';
echo '<td>'.$row["preg"].'</td></tr>';

	while ($row=mysql_fetch_array($result2))
	{?>
	
    <tr >
      </tr>
        <td> </td> <td><input type=radio name=RespPreg1 value=a><?=$row['resp1'];?>
      </td>
     
    <tr>
        <td> </td><td><input type=radio name=RespPreg1 value=b><?=$row['resp2'];?></td>
    </tr>
    
	<tr>
        <td> </td><td><input type=radio name=RespPreg1 value=c><?=$row['resp3'];?></td>
    </tr>
    
	<tr align=left>
      <td height=20 colspan=2>
	
<?	}
}
Por eso ahora que me comentaste lo de los Arrays, pues supongo que igual para esto debo utilizarlo tambien...Pero no sé cómo hacerlo o cómo empezar.

Espero me iluminen para hacer esto,
D antemano muxas gracias!!!!
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 00:52.