Foros del Web » Programando para Internet » PHP »

Generar sistema para calcular nota media

Estas en el tema de Generar sistema para calcular nota media en el foro de PHP en Foros del Web. Hola a todos, estoy intentando hacer un sistema que me permita mostrar los resultados de una búsqueda, en función de una nota media generada por ...
  #1 (permalink)  
Antiguo 12/10/2010, 15:21
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Pregunta Generar sistema para calcular nota media

Hola a todos, estoy intentando hacer un sistema que me permita mostrar los resultados de una búsqueda, en función de una nota media generada por los votos que la gente va dejando, pero no se muy bien como hacerlo.

El problema está en que la nota media como tal no está en ningún registro, sino que debo calcularla dinamicamente, es decir que si una página tiene 250 votos, lo que quiero es sumar el valor de todos los votos y lo que de de resultado, dividirlo entre 250. Para una página en concreto parece sencillo. Pero ¿Como lo hago, si por ejemplo quiero hacer un ranking de todos los registros que hay en mi BD?

La estructura de la tabla sería algo así:

ID, pelicula, usuario, nota


No se si me he explicado bien. Un saludo a todos.
  #2 (permalink)  
Antiguo 12/10/2010, 15:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Generar sistema para calcular nota media

con SUM y COUNT

http://dev.mysql.com/doc/refman/5.0/...ting-rows.html

http://www.tizag.com/mysqlTutorial/mysqlsum.php

SELECT SUM(nota) as suma, COUNT(*) as cantidad FROM `tabla` WHERE pelicula = 'Titanic'
  #3 (permalink)  
Antiguo 12/10/2010, 16:27
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Generar sistema para calcular nota media

No se si te servira pero para calcular promedios en MySQL podes usar AVG.
Código SQL:
Ver original
  1. SELECT AVG(nota) AS promedio FROM videoteca WHERE pelicula="pelicula"

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #4 (permalink)  
Antiguo 12/10/2010, 16:36
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Generar sistema para calcular nota media

Muchas gracias a los dos por responder.

Si lo he entendido bien, con eso consigo contar y sumar el numero de votos, y la media para una determinada película, pero, ¿como hago si lo que quiero es hacer un ranking?, es decir, que en una página se muestren las 10 películas que mayor nota media tienen, ordenadas de forma descendente o ascendente.

Gracias de nuevo, un saludo.
  #5 (permalink)  
Antiguo 12/10/2010, 16:45
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Generar sistema para calcular nota media

Bueno esta consulta te da mas o menos lo que tu quieres
Código SQL:
Ver original
  1. SELECT pelicula, AVG(nota) AS promedio FROM videoteca GROUP BY pelicula ORDER BY promedio DESC
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #6 (permalink)  
Antiguo 12/10/2010, 16:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Generar sistema para calcular nota media

Impresionante portalmana!!, era justo lo que buscaba.

Muchas gracias de nuevo.

Etiquetas: media, sitemap, calculadora
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 20:43.