Foros del Web » Programando para Internet » PHP »

Sistema de valoración en PHP

Estas en el tema de Sistema de valoración en PHP en el foro de PHP en Foros del Web. Hola, Quiero saber como hacer un sistema de valoración, de estos en el que el usuario valora de 0 a 10 una cosa, y después ...
  #1 (permalink)  
Antiguo 08/02/2003, 13:32
Abs
 
Fecha de Ingreso: enero-2003
Mensajes: 216
Antigüedad: 21 años, 3 meses
Puntos: 0
Sistema de valoración en PHP

Hola,

Quiero saber como hacer un sistema de valoración, de estos en el que el usuario valora de 0 a 10 una cosa, y después en la página principal sale un "top 5" con las cosas más valoradas.

¿Alguien me puede ayudar en esto?

También quiero saber si hay algún software con licencia GPL para hacer esto.

Saludos
  #2 (permalink)  
Antiguo 08/02/2003, 16:58
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
No se si será lo mejor pero si lo mas sencillo que uses un sistema de sumas, es decir:

1. el usuario valora de 0 a 10 ¿porque no consideras valoracion negativa?

2. si no te interesa guardar detalles, obtienes la valoracion guardada, le sumas lo que valoró el usuario y la vuelves a guardar hasta que venga a valorar otro usuario y asi sucesivamente.

Si es con base de datos es sólo un campo mas en tu tabla que se va sumando.
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 09/02/2003, 05:10
Abs
 
Fecha de Ingreso: enero-2003
Mensajes: 216
Antigüedad: 21 años, 3 meses
Puntos: 0
¡Gracias por tu ayuda temaqueja!


Pero ahora tengo un problema. Quiero saber si existe alguna función de PHP que realice una media aritmética de un número. Po ejemplo si entre todos los usuarios que han votado sale 184, quiero que se haga una media aritmética para que salga en valoración general un número entre 0 y 10.

¿Alguien sabe como se hace esto?
  #4 (permalink)  
Antiguo 09/02/2003, 14:53
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si no recuerdo mal, la media aritmetica era solo dividir la suma total entre el numero de votos.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 09/02/2003, 15:39
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Exacto , es como dice josemi , tendrias q tenr un campo q se llam x ejemplo puntuacion y otro puntuados , en el puntuacion se van sumando lso puntos q va obteniendo y en puntuados se van sumando la cantidad d gente q ha votado , x lo que si luego haces la division en php de la puntuacion dividido del numoero d personas q han votad o ..TATACHAN la media jejej
un saludo
  #6 (permalink)  
Antiguo 10/09/2006, 11:25
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 20 años, 6 meses
Puntos: 0
Y como se hace esa división en php?

Me gustaría saber como sacar la media aritmetica de dos campos que se encuentran en una base de datos Mysql.

Última edición por David224; 10/09/2006 a las 12:01
  #7 (permalink)  
Antiguo 10/09/2006, 13:16
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 6 meses
Puntos: 0
Revisa la funcion de mysql

AVG

http://www.plus2net.com/sql_tutorial/sql_avg.php

Saludos

A. Acosta
  #8 (permalink)  
Antiguo 10/09/2006, 13:50
 
Fecha de Ingreso: octubre-2003
Ubicación: Santander
Mensajes: 236
Antigüedad: 20 años, 6 meses
Puntos: 0
Y para hacer la media entre dos campos?

Es decir, en la tabla productos tengo el campo "votos" y el campo "puntos". ¿Cómo puedo hacer para que me divida la cantidad recogida en el campo "puntos" entre la cifra del campo "votos"?
  #9 (permalink)  
Antiguo 23/02/2007, 04:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años
Puntos: 0
Re: Sistema de valoración en PHP

Hola, talvez lo que voy a preguntar no tenga mucho que ver con el tema y pido disculpas pero es que no lo encuentro en e foro. Una vez que se optiene los puntos, por ejemplo si es solo hasta 5 y es 4 el total, como podria hacer para que lo muestre con imagen en lugar de numero? como sale en muchos sitios, por ejemplo en youtube que aparecen estrellas con la puntuacion del video.

Saludos
  #10 (permalink)  
Antiguo 23/02/2007, 04:47
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 74
Antigüedad: 18 años, 3 meses
Puntos: 2
Re: Sistema de valoración en PHP

No sé bien cómo sería lo de las "estrellas", pero un sistema sencillo sería hacerlo con "barras" horizontales o verticales que "crezcan" en función del número de votos... Esto se puede hacer de modo bastante simple, creándote una pequeña imagen de, por ejemplo para hacer barras horizontales, 10px de alto por 1 px de ancho del color que quieras, y luego, en donde vayas a mostrar esas barras incrementales, haciendo algo como:

echo "<img src='barrita.gif' width=$numero_votos>";

o algo similar :O)
  #11 (permalink)  
Antiguo 23/02/2007, 04:55
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 74
Antigüedad: 18 años, 3 meses
Puntos: 2
Re: Sistema de valoración en PHP

Con estrellas podría ser muy fácil también, algo con un bucle:

for ($estrellas=1; $estrellas=$num_votos; $estrellas++) {
echo "<img src='estrellita.gif'>";
}

o algo parecido :O)
  #12 (permalink)  
Antiguo 23/02/2007, 04:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años
Puntos: 0
Re: Sistema de valoración en PHP

yo habia pensado algo parecido a tu primera respuesta para las estrellas, pero luego pensandolo, si el promedio es por ejemplo 4,5 como muestro las 4 mas la media estrella?

porque a mi los resultados me los muestra hasta 5, pero con decimales tambien 4,50 y asi
  #13 (permalink)  
Antiguo 23/02/2007, 23:33
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años
Puntos: 0
Re: Sistema de valoración en PHP

Hola, algo asi quiero hacer http://www.masugadesign.com/the-lab/...ar-rating-bar/ mejor dicho asi lo quiero mostrar, porque yo ya tengo el istema de votacion, lo unico que quiero es que el resultado lo uestre como en esa pagina, ahora lo muestra con letras por ejemplo 4.2, 3, 2.5 etc.
  #14 (permalink)  
Antiguo 24/02/2007, 02:11
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 74
Antigüedad: 18 años, 3 meses
Puntos: 2
Re: Sistema de valoración en PHP

Hola Pakillo:
Está muy chulo ese script que mandas :O)
Me parece que funciona de modo bastante similar al primer método que comentábamos, el de crear una "barrita", una pequeña imagen gif, cuyo "width" se incremente proporcionalmente al número de votos: en principio para ese funcionamiento no debería ser problema que el valor en referencia al cual se incremente "width" tenga decimales :O)
Lo de las estrellitas, por lo que he visto, se hace con CSS: te comento; tienes por un lado tu barrita de color amarillo por ejemplo, y por otro lado tienes otro gif con estrellas de fondo transparente (esto es importante), ambas imágenes tienen la misma altura "height". Para colocar una cosa encima de la otra (la barrita incremental y encima las estrellas que al ser transparentes dejarán ver la barra por debajo) tienes que crear en el CSS dos "div" exactamente en la misma posición de pantalla, y asignarles como valor "background" una de las imágenes a cada uno, a uno la barra y a otro las estrellitas :O); para conseguir que uno se vea debajo del otro, se hace con la propiedad css "index-z", que define el orden de los "div"... ¿ok?
Como te he comentado, las imágenes son el "fondo" de algo, de un texto, de un enlace, de lo que sea... en realidad se puede poner cualquier cosa ahí, porque luego para conseguir que ese texto no se vea se le envía "fuera de pantalla" también mediante CSS, asignándole al div una propiedad "text-indent" de, por ejemplo, -9000px :O)
Como te digo, el truco realmente es el uso ingenioso de CSS, no el código PHP :O). En PHP sólo tienes que conseguir que el valor "width" de tu barrita amarilla se incremente en función de tu número de votos... :O)
Un saludo,
Iulius
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:30.