Foros del Web » Programando para Internet » PHP »

no entra al if

Estas en el tema de no entra al if en el foro de PHP en Foros del Web. hola me suscede algo raro o no se si este equivocado tengo esta consulta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $result_hora = mysql_query ( "SELECT ...
  #1 (permalink)  
Antiguo 22/04/2013, 15:29
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 15 años, 2 meses
Puntos: 15
Exclamación no entra al if

hola

me suscede algo raro o no se si este equivocado

tengo esta consulta

Código PHP:
Ver original
  1. $result_hora = mysql_query("SELECT * FROM servicios WHERE ing ='".$_POST['ing']."' AND fecha_entrada='".$_POST['fecha']."'",$link)or die (mysql_error());

la cual retorna tres fila con los valores numéricos: 15,16 y 17

y tengo el siguiente codigo:

Código PHP:
Ver original
  1. while($row = mysql_fetch_assoc($result_hora)){
  2.                            
  3.                             echo $row['hora_entrada'];
  4.                    
  5.                        
  6.                             if ( $row['hora_entrada'] == 8  ){
  7.                                
  8.                                 $var1 = "1";
  9.                                
  10.                             }else{
  11.                                
  12.                                 $var1 = "0";   
  13.                             }
  14.                            
  15.                             if ( $row['hora_entrada'] == 9  ){
  16.                                
  17.                                 $var11 = "1";
  18.                                
  19.                             }else{
  20.                                
  21.                                 $var11 = "0";  
  22.                             }
  23.                            
  24.                             if ( $row['hora_entrada'] == 10 ){
  25.                                
  26.                                 $var2 = "1";
  27.                                
  28.                             }else{
  29.                                
  30.                                 $var2 = "0";   
  31.                             }
  32.                            
  33.                             if ( $row['hora_entrada'] == 11 ){
  34.                                
  35.                                 $var22 = "1";
  36.                                
  37.                             }else{
  38.                                
  39.                                 $var22 = "0";  
  40.                             }
  41.                            
  42.                             if ( $row['hora_entrada'] == 12  ){
  43.                                
  44.                                 $var3 = "1";
  45.                                
  46.                             }else{
  47.                                
  48.                                 $var3 = "0";   
  49.                             }
  50.                            
  51.                             if ( $row['hora_entrada'] == 13  ){
  52.                                
  53.                                 $var33 = "1";
  54.                                
  55.                             }else{
  56.                                
  57.                                 $var33 = "0";  
  58.                             }
  59.                            
  60.                             if ( $row['hora_entrada'] == 14 ){
  61.                                
  62.                                 $var4 = "1";
  63.                                
  64.                             }else{
  65.                                
  66.                                 $var4 = "0";   
  67.                             }
  68.                            
  69.                             if ( $row['hora_entrada'] == "15" ){
  70.                                
  71.                                 $var44 = "si";
  72.                                
  73.                             }else{
  74.                                
  75.                                 $var44 = "no"; 
  76.                             }
  77.                            
  78.                            
  79.                             if ( $row['hora_entrada'] == 16 ){
  80.                                
  81.                                 $var5 = "1";
  82.                                
  83.                             }else{
  84.                                
  85.                                 $var5 = "0";   
  86.                             }
  87.                            
  88.                             if ( $row['hora_entrada'] == 17 ){
  89.                                
  90.                                 $var55 = "1";
  91.                                
  92.                             }else{
  93.                                
  94.                                 $var55 = "0";  
  95.                             }
  96.                        
  97.                        
  98.                        
  99.                         }


mando a escribir los resultados de las variable asi:

Código PHP:
Ver original
  1. echo"<br>";
  2.                     echo $var1;
  3.                     echo"<br>";
  4.                     echo $var2;
  5.                     echo"<br>";
  6.                     echo $var3;
  7.                     echo"<br>";
  8.                     echo $var4;
  9.                     echo"<br>";
  10.                     echo $var5;
  11.                     echo"<br>";
  12.                    
  13.                     echo"<br>";
  14.                     echo $var11;
  15.                     echo"<br>";
  16.                     echo $var22;
  17.                     echo"<br>";
  18.                     echo $var33;
  19.                     echo"<br>";
  20.                     echo $var44;
  21.                     echo"<br>";
  22.                     echo $var55;
  23.                     echo"<br>";

y el problema es que no me entra en el if del 15 y 16, pero en el if del 17 si entra..

no se que pasa, no se si este haciendo algo mal..

si alguien me pudiese ayudar se lo agradecería.
  #2 (permalink)  
Antiguo 22/04/2013, 15:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: no entra al if

Bueno, una variable simple no puede representar muchos valores a la vez, es lógico que entre a dicho bloque if() si tiene el valor que la comparación espera, pero entonces puede valer 16 pero no 17 al mismo tiempo.

Tu lógica atenta contra las reglas universales del sentido común, ¿o de verdad no lo entiendes?


Ejemplo:
Código PHP:
$foo 12;

if (
$foo == 12) {
  echo 
'$foo tiene el valor 12';
}

if (
$foo == 13) {
  echo 
'$foo tiene el valor 13';

Evidentemente el código anterior siempre mostrará la salida correspondiente al 12, porque no puede ser 12 y 13 al mismo tiempo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/04/2013, 16:00
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 16 años
Puntos: 4
Respuesta: no entra al if

en el if de 15 encierrras el numero entre comillas, acaso es cadena?

Código:
   if ( $row['hora_entrada'] == "15" ){
                               
                                $var44 = "si";
                               
                            }else{
                               
                                $var44 = "no"; 
                            }
  #4 (permalink)  
Antiguo 22/04/2013, 16:01
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 5 meses
Puntos: 181
Respuesta: no entra al if

Código PHP:
   if ( $row['hora_entrada'] == "15" ){ 
Aquí le estas pasando 15 no como número sino como cadena, por tanto no es lo mismo "15" que 15.

Por otro lado no te compliques la vida, usa switch case para simplificar tu codigo. Hacer tantos if else no tiene sentido practico porque al final de cuentas solo va a obtener un valor y ya no necesitas que evalue el resto del codigo.
__________________
Blog de humor http://elcuasatar.net63.net/
  #5 (permalink)  
Antiguo 22/04/2013, 16:06
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: no entra al if

ok, comprendi que los else estaban mal puesto, por querer obtener el resultado me nuble en la logica... gracias te lo agradezco mucho...

Etiquetas: entra, mysql, resultados, select
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 12:56.