Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Condicionales

Estas en el tema de Condicionales en el foro de PHP en Foros del Web. Tengo una duda junto a un problema... estoy trabajando con condicionales e imagenes... referido al tema de los votos. Pero en este caso cuento la ...
  #1 (permalink)  
Antiguo 25/05/2013, 21:43
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 534
Antigüedad: 14 años, 6 meses
Puntos: 12
Pregunta Condicionales

Tengo una duda junto a un problema... estoy trabajando con condicionales e imagenes... referido al tema de los votos. Pero en este caso cuento la cantidad de votos y dependiendo un numero determinado de los mismo le agrego una imagen (a pedido del cliente, una estrella). Hice esto, es muy escueto y simple, pero me pasan dos cosas. Si los votos superan el maximo me da como resultado "no tiene votos aun" y el valor de los votos es cero "0" me da como resultado una estrella, por que?

Gracias y espero me ayuden

escript:

Código PHP:
$voto 2000;

if (
$voto <= 100){
    echo 
'<img src="img/6.png"/>';
}
else if(
$voto <= 250) {
    echo 
'<img src="img/7.png"/>';
}
else if(
$voto <= 500) {
    echo 
'<img src="img/8.png"/>';
}
else if(
$voto <= 1000) {
    echo 
'<img src="img/9.png"/>';
}
else if(
$voto <= 1500) {
    echo 
'<img src="img/10.png"/>';
}
else if (
$voto 1600) {
    echo 
'<img src="img/10.png"/>';
}

else {echo 
"no tiene votos";} 
si dejo $valor en 2000 me dice "no tiene votos" y si $valor = 0 me muestra una estrella...
__________________
Zreep
  #2 (permalink)  
Antiguo 25/05/2013, 21:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Condicionales

Cita:
Si los votos superan el maximo me da como resultado "no tiene votos aun" y el valor de los votos es cero "0" me da como resultado una estrella, por que?
Bueno, porque eso es lo que surge de las condiciones de esos IFs...
Si los analizas, estás partiendo de que si $votos es menor o igual a cien (100), lo que obviamente incluye al cero (0), y en cuanto a 2000 votos... está incluido en todo aquello que no indicas en el último IF. Es parte del ELSE.
Personalmente, para tu caso yo lo plantearía mejor por rangos e incluiría como primera condición que sea cero.
Código PHP:
Ver original
  1. if ($voto = 0){
  2.     echo "no tiene votos";
  3. }
  4. else if ($voto > 0 and $voto <=100){
  5.     echo '<img src="img/6.png"/>';
  6. }
  7. else if($voto <= 250) {
  8.     echo '<img src="img/7.png"/>';
  9. }
  10. else if($voto <= 500) {
  11.     echo '<img src="img/8.png"/>';
  12. }
  13. else if($voto <= 1000) {
  14.     echo '<img src="img/9.png"/>';
  15. }
  16. else if($voto <= 1500) {
  17.     echo '<img src="img/10.png"/>';
  18. }
  19. else if ($voto > 1501) {
  20.     echo '<img src="img/10.png"/>';
  21. }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/05/2013, 22:08
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 534
Antigüedad: 14 años, 6 meses
Puntos: 12
Respuesta: Condicionales

Gnzsoloyo, gracias por tu tiempo, pero te comento que al poner $valor = 0 no me dice que no tiene votos y de pone una estrella y si pongo $valor = 2 me da como resultado dos estrellas, por que? Gracias
__________________
Zreep
  #4 (permalink)  
Antiguo 25/05/2013, 22:11
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 534
Antigüedad: 14 años, 6 meses
Puntos: 12
Respuesta: Condicionales

Ya esta... hice esto:

Código PHP:
$voto 0;

if (
$voto <= 0){
    echo 
"no tiene votos";
}
else if (
$voto <= 18){
    echo 
'<img src="img/6.png"/>';
}
else if(
$voto <= 22) {
    echo 
'<img src="img/7.png"/>';
}
else if(
$voto <= 35) {
    echo 
'<img src="img/8.png"/>';
}
else if(
$voto <= 55) {
    echo 
'<img src="img/9.png"/>';
}
else if(
$voto <= 218) {
    echo 
'<img src="img/10.png"/>';
}
else if (
$voto 563) {
    echo 
'<img src="img/10.png"/>';

y funciona perfecto... mil gracias!!

pd: este trabajo me tiene loco...
__________________
Zreep
  #5 (permalink)  
Antiguo 26/05/2013, 05:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Condicionales

Cita:
pero te comento que al poner $valor = 0 no me dice que no tiene votos


¿Es que acaso tu sistema puede tener una cantidad negativa de votos?



Francamente me asombra...

Cita:
si pongo $valor = 2 me da como resultado dos estrellas,
Con lo que has explicado no podemos adivinar cuándo hay una estrella, o más de una, ni lo que significan las estrellas o qué condiciones tiene que tener una.
Piensa que en tu post solamente aparecen los nombres de los archivos, pero esos no nos dicen nada acerca de qué representan.
Si quieres que se te ayude en algo debes aportar información que permita entender la lógica de lo que hace.
Ten en cuenta eso para futuras ocasiones.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: condicionales
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 09:19.