Encuesta de muchas preguntas (mysql) con única respuesta
Publicado por Marcelo (1 intervención) el 12/02/2016 16:16:27
Estimados, estoy tratando de confeccionar una página en donde se carguen 80 preguntas cargadas en una tabla mysql cuyas respuestas son iguales para todas = (Totalmente de acuerdo, Totalmente en desacuerdo, No sabe/ No responde). Hasta ahora he logrado que al abrir la página iniciar_encuesta.php me salga la pregunta 1 y las posibles respuestas. Al dar siguiente nos muestra la siguiente pregunta sin cargar otro php. Necesito que esas respuestas vayan a un array y finalizada la encuesta cargarlo a otra db. Es una encuesta anónima por lo cual sólo van esos datos en la base de datos.
Aclaro soy novato.
Hasta ahora tengo un script pero no es efectivo, el mismo tomaría los valores de los radio buttons y genera una variable para cargar al array pero no me funciona ya que se me vuelve a generar un array nuevo con el numero de pregunta y borra el anterior.
Desde ya mi agradecimiento si alguien puede darme una mano.
Aclaro soy novato.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<div class="mtable">
<?php
$db_table = "cuestionario";
if(isset($_GET['siguiente'])){
if(!empty($_GET['siguiente'])){
$id_preg_sig = (int) mysql_real_escape_string($_GET['siguiente']);
$query_pregunta = mysql_query("SELECT id_preguntas, preguntas FROM $db_table WHERE id_preguntas > '".$id_preg_sig."' LIMIT 1");
if(mysql_num_rows($query_pregunta)>0){ /*si el numero de filas de la busqueda es mayor que 0 */
while($columna = mysql_fetch_assoc($query_pregunta)){
echo '
<div>
<form name="formu" method="get" Action="">
<table class="container" >
<tr>
<td class="titulos_admin"> <label>'.$columna['preguntas'].'</label><hr width=100%></hr></td>
</tr>
<tr>
<td>
<input type="radio" name="id_pregunta" value="Totalmente de acuerdo">Totalmente de acuerdo<br>
<input type="radio" name="id_pregunta" value="Totalmente en desacuerdo">Totalmente en desacuerdo<br>
<input type="radio" name="id_pregunta" value="No sabe / No responde">No sabe / No responde<br>
</td>
</tr>
<tr>
<td>
<input type="hidden" value="'.$_SESSION['session_username'].'" id="session">
<input type="hidden" value="'.$columna['id_preguntas'].'" id="nroid">
</td>
<td>
<a class="button" href="?siguiente='.$columna['id_preguntas'].'" id="boton">Siguiente</a>
</td>
</tr>
</table>
</form>
</div>
';
}
} else { /* si el numero es < 0 */
header("Location: encuesta_completa.php");
}
}else{
echo 'Debes seleccionar una respuesta';
}
} else{ /* si la variable pregunta NO existe entonces: */
$valor = (int) mysql_real_escape_string($_POST['pregunta']);
$query_pregunta = mysql_query("SELECT id_preguntas, preguntas FROM $db_table WHERE id_preguntas = '".$valor."' LIMIT 1");
while($columna = mysql_fetch_assoc($query_pregunta)){
echo '
<div>
<form name="formu" method="get" Action="">
<table class="container">
<tr>
<td class="titulos_admin"> <label>'.$columna['preguntas'].'</label><hr width=100%></hr></td>
</tr>
<tr>
<td>
<input type="radio" name="id_pregunta" value="Totalmente de acuerdo">Totalmente de acuerdo<br>
<input type="radio" name="id_pregunta" value="Totalmente en desacuerdo">Totalmente en desacuerdo<br>
<input type="radio" name="id_pregunta" value="No sabe / No responde">No sabe / No responde<br>
</td>
</tr>
<tr>
<td>
<input type="hidden" value="'.$_SESSION['session_username'].'" id="session">
<input type="hidden" value="'.$columna['id_preguntas'].'" id="nroid">
</td>
<td>
<a class="button" href="?siguiente='.$columna['id_preguntas'].'+1" id="boton">Siguiente</a>
</td>
</tr>
</table>
</form>
</div>
';
}
}
?>
</div> (...)
Hasta ahora tengo un script pero no es efectivo, el mismo tomaría los valores de los radio buttons y genera una variable para cargar al array pero no me funciona ya que se me vuelve a generar un array nuevo con el numero de pregunta y borra el anterior.
Desde ya mi agradecimiento si alguien puede darme una mano.
Valora esta pregunta


0