Foros del Web » Programando para Internet » PHP »

Operadores en sistema de votos

Estas en el tema de Operadores en sistema de votos en el foro de PHP en Foros del Web. Buenas, Estoy montando un sistema de votos. Lo que quiero hacer es que segun los votos que haya, aparezcan X estrellas. Tengo un máximo de ...
  #1 (permalink)  
Antiguo 17/06/2009, 11:52
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Operadores en sistema de votos

Buenas,

Estoy montando un sistema de votos. Lo que quiero hacer es que segun los votos que haya, aparezcan X estrellas.
Tengo un máximo de 6 estrellas, y de momento, lo quiero hacer asi:

1 estrella = 5 votos,
2 estrellas = 10 votos,
3 estrellas = 25 votos,
4 estrellas = 50 votos,
5 estrellas = 100 votos.

Eso se hacerlo con los operadores.
Ejemplo, esto es lo que tengo:
Código Ejemplo:
Ver original
  1. if ($Mostrar['total_votos'] == 5 ) {
  2.          
  3.                 echo $voto_estrella_1;
  4.  
  5.          }
  6. if ($Mostrar['total_votos'] == 10 ) {
  7.          
  8.                 echo $voto_estrella_2;
  9.  
  10.          }

¿Pero que pasa si solo hay 2 votos por ejemplo? o ¿y si hay 7 votos?

Como dije mas arriba, si 10 votos es 2 estrellas y 25 votos es 3 estrellas, entonces querría que de 10 a 24 se mostraran 2 estrellas.
¿Como es eso?

Muchas gracias,
  #2 (permalink)  
Antiguo 17/06/2009, 11:57
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: Operadores en sistema de votos

Código PHP:
if ($Mostrar['total_votos'] < ) {
  echo 
$voto_estrella_1;
}
// Notese el elseif
elseif ($Mostrar['total_votos'] < 10 &&  $Mostrar['total_votos'] > 5) {
  echo 
$voto_estrella_2;
}
elseif (
$Mostrar['total_votos'] < 20 &&  $Mostrar['total_votos'] > 10) {
          
                echo 
$voto_estrella_3;
 
         } 
Saludos!
  #3 (permalink)  
Antiguo 17/06/2009, 12:07
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Operadores en sistema de votos

Gracias, de momento me sirve, aun no lo he probado en todo, pero lo que he visto si me va funcionando.

Muchas gracias,
  #4 (permalink)  
Antiguo 17/06/2009, 12:15
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: Operadores en sistema de votos

Me alegro que te haya servido, cualquier cosa aquí estamos.

Saludos!
  #5 (permalink)  
Antiguo 17/06/2009, 12:31
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Operadores en sistema de votos

ei, podrias pasar ese sistema cuando lo termines?
  #6 (permalink)  
Antiguo 18/06/2009, 06:10
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Operadores en sistema de votos

Siento decirlo pero no me ha funcionado.

Me acabo de ir a la base de datos y he puesto 10 y 25 votos y no me muestra nada, cuando me tendría que mostrar mas de una.

También quisiera que en caso de tener 0, pues no muestre ninguna obviamente.

Mirar, asi lo tengo:

Código Mirar:
Ver original
  1. <?php
  2.     include ("config.php");
  3.     $Resultado=mysql_query("SELECT * FROM oc_articulos WHERE id='$id_articulo'",$conexion);
  4.      while($Mostrar=mysql_fetch_array($Resultado)){
  5.     $voto_estrella_1 = "<img src='images/iconos/votos/estrellas/entera2-20x20.png'>";
  6.      $voto_estrella_2 = "<img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'>";
  7.       $voto_estrella_3 = "<img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'>";
  8.        $voto_estrella_4 = "<img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'>";
  9.         $voto_estrella_5 = "<img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'><img src='images/iconos/votos/estrellas/entera2-20x20.png'>";
  10.          
  11. if ($Mostrar['total_votos'] < 5 ) {
  12. echo $voto_estrella_1;
  13. }
  14. // Notese el elseif
  15. elseif ($Mostrar['total_votos'] < 10 &&  $Mostrar['total_votos'] > 5) {
  16.   echo $voto_estrella_2;
  17. }
  18. elseif ($Mostrar['total_votos'] < 25 &&  $Mostrar['total_votos'] > 10) {
  19.          
  20.                 echo $voto_estrella_3;
  21.  
  22.          }
  23.          elseif ($Mostrar['total_votos'] < 50  &&  $Mostrar['total_votos'] > 25) {
  24.          
  25.                 echo $voto_estrella_4;
  26.  
  27.          }
  28.          elseif ($Mostrar['total_votos'] < 100 &&  $Mostrar['total_votos'] > 50) {
  29.          
  30.                 echo $voto_estrella_5;
  31.  
  32.          }
  33.      } //Fin del while
  34.          
  35.     ?>

¿Que sucede? Por que si lo saco fuera del if, saco los votos que tiene ese articulo, me los muestra correctamente

Muchas gracias,

PD: SeaPirates, el sistema ya lo tienes (arriba). Lo que hago o intento hacer mejor dicho, es que segun los votos que haya en el campo "total_votos" de oc_articulos, se muestre una estrella u otra.
Asi de simple xD.

Saludos,
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 22:09.