Nueva pregunta

Pregunta:

Fecha: 05-05-2016 06:31:14 (En Español)

Calcular calificación de ecuesta con MySql y PHP[Resuelta]

Buenas tardes a toda la comunidad:
Pregunta:
Tengo una tabla llamada ENCUESTA, que cuenta con los siguientes campos:

id_encuesta
pasajero
pregunta_1 (Calificación de 1 a 5)
pregunta_2 (Calificación de 1 a 5)
pregunta_3 (Calificación de 1 a 5)

Supongamos que quiero saber el resultado o calificación de esta encuesta por pasajero
clasificación = ((pregunta_1 + pregunta_2 + pregunta_3) / 3)

"SELECT ROUND(SUM((respuesta_1+respuesta_2+respuesta_3) / 3 ), 2) AS calificacion
FROM encuesta
WHERE id_encuesta = $id_encuesta";

Hasta aquí nada complicado

El problema se me presenta, cuando me dice que cualquiera de estas preguntas puede tener un valor 0 (cero) cuando "NO APLICA" LA PREGUNTA

Por lo tanto
clasificación = ((pregunta_1 + pregunta_2 + pregunta_3) / 3) Ya no va a ser / 3 dado a que solo va a dividir por la cantidad de campos que tengan una calificación distinta de 0 (cero)

Ejemplo:

pregunta_1 = 0
pregunta_2 = 3
pregunta_3 = 2

clasificación = ((pregunta_1 + pregunta_2 + pregunta_3) / 2)

En este caso para obtener la calificación divido por 2, dado a que la pregunta_1 = 0

Deje mi inquietud, toda ayuda será bien recibida




Etiquetas: MySQL - PHP - Pregunta Votos: 3 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 05-05-2016 10:55:25 Hola , podrias hacer esto expongo codigo

    
    $sql = "select pregunta_1,pregunta_2,pregunta_3 from encuesta WHERE id_encuesta = $id_encuesta";
    
    $response = "aqui pondrias tu funcion que ejecute la consulta"
    
    <!-- una vez ya ejecutado harias esto -->
    
    $cant=0;
    
    if($response["pregunta_1"]>0)  $cant++;
    if($response["pregunta_2"]>0)  $cant++;
    if($response["pregunta_2"]>0)  $cant++;
    
    <!-- asi quedaria tu consulta -->
    
    $sql2="SELECT ROUND(SUM((respuesta_1+respuesta_2+respuesta_3) / $cant ), 2) AS calificacion
    FROM encuesta
    WHERE id_encuesta = $id_encuesta";     
       
    


    saludos espero que te sirva

    comentas como te va

    att Jose Quinto Ortega
      Votos: 6 - Link respuesta
     
  • Fecha: 05-05-2016 12:31:50 Joaquín:

    Lo probé y funciono muy bien, desde ya te agradezco mucho tu aporte.

    Un saludo

    Daniel Calofatti

    PD.: Doy por RESULTA la pregunta
      Votos: 2 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com