Pregunta:
Fecha: 05-05-2016 06:31:14
(En Español)
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
Votos: 3 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
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
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
