Foros del Web » Programando para Internet » PHP »

Encuesta con 80 preguntas y mismas respuestas

Estas en el tema de Encuesta con 80 preguntas y mismas respuestas en el foro de PHP en Foros del Web. Estimados, estoy intentado programar una pag. php que me muestre las preguntas incorporadas a una db mysql y con un botón siguiente pase a la ...
  #1 (permalink)  
Antiguo 12/02/2016, 22:16
 
Fecha de Ingreso: febrero-2016
Mensajes: 1
Antigüedad: 8 años, 4 meses
Puntos: 0
Encuesta con 80 preguntas y mismas respuestas

Estimados, estoy intentado programar una pag. php que me muestre las preguntas incorporadas a una db mysql y con un botón siguiente pase a la posterior. Las respuestas son las mismas para todas (muy de acuerdo, a muy en desacuerdo).

He logrado que por php muestre las preguntas y se reenvie por un <a class="button" href="?siguiente='.$columna['id_preguntas'].'+1" id="boton">Siguiente</a> a la siguiente pregunta todo en el mismo script.

Ahora bien quiero tomar las respuestas de los radio buttons y cargarlas en un array para una vez terminada la encuesta mostrarlas y subirlas a una db a fin de tener estadísticas. El tema es que se me carga una variable pero al enviar nuevamente la página se borra la anterior.

Por favor soy novato y no puedo hacer lo útlimo. Me podrían orientar si hay solución o conviene hacerlo de otro modo?



<script type="text/javascript">
var array_rtas
array_rtas = Array (81);
</script>

<script type="text/javascript">
$(document).ready(function()
{
$("#boton").click(function() {
var elements = document.getElementsByName("id_pregunta");
for (var i = 0, l = elements.length; i < l; i++)
{
if (elements[i].checked)
{
rta2 = elements[i].value;
}
}
// alert(rta2);
orden = document.getElementById("nroid").value;
// alert(orden);
// alert(array_rtas);
cargar_matriz();
});
});
</script>

<script type="text/javascript">
function cargar_matriz(){
// sesion = document.getElementById("session").value;
// alert(sesion);
// array_rtas[0] = (sesion);
array_rtas.splice(orden, 0, rta2);
alert(array_rtas);
}
</script>


</head>

<body>

<div id="wrapper">

<div id="cuerpo">

<article id="table-contenedor">
<div class="mtable">


<?php
$db_table = "cuestionario_trucho";

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>
<table class="container" >
<tr>
<td class="titulos_admin"> <label>'.$columna['preguntas'].'</label><hr width=100%></hr></td>
</tr>

<tr>
<td name="answers">
<input type="radio" id="idpregunta" name="id_pregunta" value="Totalmente de acuerdo" >Totalmente de acuerdo<br>
<input type="radio" id="idpregunta" name="id_pregunta" value="Parcialmente de acuerdo">Parcialmente de acuerdo<br>
<input type="radio" id="idpregunta" name="id_pregunta" value="Totalmente en desacuerdo">Totalmente en desacuerdo<br>
<input type="radio" id="idpregunta" name="id_pregunta" value="Parcialmente en desacuerdo">Parcialmente en desacuerdo<br>
<input type="radio" id="idpregunta" 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 pregunta';
}
} 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>
<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="Parcialmente de acuerdo">Parcialmente de acuerdo<br>
<input type="radio" name="id_pregunta" value="Totalmente en desacuerdo">Totalmente en desacuerdo<br>
<input type="radio" name="id_pregunta" value="Parcialmente en desacuerdo">Parcialmente 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>
';
}
}
?>
  #2 (permalink)  
Antiguo 12/02/2016, 22:40
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 5 meses
Puntos: 39
Respuesta: Encuesta con 80 preguntas y mismas respuestas

Puedes almacenar los datos en una variable de sesión, cada que se agregue un nuevo valor lo añades al otro con el operador ".="

Código PHP:
Ver original
  1. $_SESSION['respuestas'] = "Hola";
  2.  
  3. $var1 = $_SESSION['respuestas'] .= " Mundo";
  4.  
  5. echo $var1;

Etiquetas: encuesta, mysql, preguntas, respuestas, select, sql, variable
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 04:18.