128 lines
2.8 KiB
PHP
128 lines
2.8 KiB
PHP
<?php
|
|
require_once "../config.php";
|
|
|
|
$idencuesta = $_POST['idencuesta'];
|
|
|
|
|
|
$sql="SELECT
|
|
e.idencuesta,
|
|
e.titulo,
|
|
e.descripcion
|
|
FROM
|
|
encuestas as e
|
|
WHERE
|
|
e.idencuesta = $idencuesta";
|
|
|
|
|
|
$sqlQ="SELECT
|
|
ep.idpregunta,
|
|
ep.titulo,ep.descripcion_p,
|
|
ep.orden_p
|
|
FROM
|
|
encuestas_preguntas as ep
|
|
WHERE
|
|
ep.idencuesta = $idencuesta
|
|
ORDER BY ep.orden_p asc";
|
|
|
|
|
|
|
|
global $link;
|
|
dbConnect();
|
|
$return = new stdClass();
|
|
$return->questions = [];
|
|
|
|
if($result = mysqli_query($link, $sql)){
|
|
if ( mysqli_num_rows($result) <= 0) {
|
|
$return->code = "300";
|
|
$return->icon = "warning";
|
|
$return->msg="Sin encuestas";
|
|
}else{
|
|
while ($row = mysqli_fetch_assoc($result)){
|
|
$return->datos = $row;
|
|
}
|
|
if($resultQ = mysqli_query($link, $sqlQ)){
|
|
if ( mysqli_num_rows($result) <= 0) {
|
|
$return->code = "300";
|
|
$return->icon = "warning";
|
|
$return->msg="Sin preguntas";
|
|
}else{
|
|
while ($row = mysqli_fetch_assoc($resultQ)){
|
|
$questions[] = $row;
|
|
}
|
|
|
|
$alerts = [];
|
|
$totalPreguntasRespuestas = 0;
|
|
$total_votes = 0;
|
|
foreach ($questions as $key => $q) {
|
|
$total_votes = 0;
|
|
$answers = [];
|
|
$sqlAns = "SELECT
|
|
*
|
|
FROM
|
|
encuestas_respuestas as er
|
|
WHERE
|
|
er.idpregunta = ".$q['idpregunta']."";
|
|
|
|
if($resultAns = mysqli_query($link, $sqlAns)){
|
|
if ( mysqli_num_rows($resultAns) <= 0) {
|
|
array_push($alerts, "Sin respuestas");
|
|
$answers = [];
|
|
}else{
|
|
$totalPreguntasRespuestas++;
|
|
while ($row = mysqli_fetch_assoc($resultAns)){
|
|
$total_votes += $row['votos'];
|
|
$answers[] = $row;
|
|
}
|
|
}
|
|
|
|
$questions[$key]['total_votos'] = $total_votes;
|
|
|
|
foreach ($answers as $keyans => $val) {
|
|
if ($val['votos'] == 0) {
|
|
$promedio = 0;
|
|
}else{
|
|
$promedio = round(($val['votos']/$total_votes)*100);
|
|
}
|
|
|
|
$answers[$keyans]['promedio'] = $promedio;
|
|
}
|
|
|
|
$questions[$key]['respuestas'] = $answers;
|
|
|
|
}else{
|
|
$return->code = "300";
|
|
$return->icon = "warning";
|
|
$return->msg="Sin respuestas";
|
|
array_push($alerts, "Consulta fallo! SQL: ".$sqlAns."<br><br> Error: ".mysqli_error($link));
|
|
}
|
|
}
|
|
|
|
if ($totalPreguntasRespuestas == sizeof($questions)) {
|
|
$return->code = "200";
|
|
$return->icon = "success";
|
|
$return->msg="Encuestas";
|
|
}else{
|
|
$return->code = "300";
|
|
$return->icon = "error";
|
|
$return->msg="Ocurrio un error al recuperar las respuestas";
|
|
}
|
|
|
|
|
|
}
|
|
}else{
|
|
|
|
}
|
|
}
|
|
}else{
|
|
$return->code = "400";
|
|
$return->icon = "error";
|
|
$return->msg="No se pudieron cargar los datos de la encuesta intenta más tarde.";
|
|
}
|
|
|
|
|
|
$return->questions = $questions;
|
|
|
|
echo json_encode($return, JSON_UNESCAPED_UNICODE);
|
|
exit;
|
|
|
|
?>
|