Foros del Web » Programando para Internet » PHP »

Problema con campo NULL

Estas en el tema de Problema con campo NULL en el foro de PHP en Foros del Web. Buenos Dias compañeros... Tengo un problema con un campo NULL , Este es el codigo: Código PHP: for( $i = 0 ; $i < $this ...
  #1 (permalink)  
Antiguo 15/07/2011, 07:29
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Problema con campo NULL

Buenos Dias compañeros...

Tengo un problema con un campo NULL ,

Este es el codigo:



Código PHP:
for($i=0;$i<$this->can_RowsHistorico+1;$i++){   
            
$val $this->arr_HistoricoVendedor;

if(empty(
$Vendedor)){//valido variable Vendedor vacia
    
$Vendedor    =    $val[$i]['Vendedor']; // Asigno la variable vendedor 
                        
                
if($Vendedor == $val[$i]['Vendedor']) {
                    
$grupo $val[$i]['GrupoDeVendedores'];
                    
                    
$cod_sucursal $val[$i]['Sucursal'];
                    
$tipo_Vendedor $val[$i]['TipoVendedor'];
                    
                    if(
$grupo == $val[$i]['GrupoDeVendedores']){
                        
$FechaInicial FormatearFecha($val[$i]['Fecha']); // Asigno fecha inicial
                    
}else{
                        
$FechaFinal FormatearFecha($val[$i]['Fecha']); // Asigno fecha final 
                    
}
            
//------------  Validamos el tipo de vendedor -----------------    /                    
                            //------------  Validamos el tipo de vendedor -----------------    /                    
                            
if ($tipo_Vendedor == NULL){
                                 
$this->genera_VendedorActual($Vendedor);
                                 
$tipo_Vendedor =  $this->val_TipoVendedorActual;
                            }
            
//------------------- Creamos el arreglo cuando la consulta retorna un solo registro -----------------/         
                      
if($this->can_RowsHistorico == 1){
                        
$arreglo_probable    =    array("Vendedor"=>$Vendedor,
                                                      
"grupo"=>$grupo,
                                                      
"tipo_Vendedor"=>$tipo_Vendedor,
                                                      
"fecha_ini"=>$FechaInicial,
                                                      
"fecha_fin"=>date("Y-m-d H:i:s"),
                                                       
"Sucursal"=>$cod_sucursal
                                                      
);                                                          
                        
array_push($this->arr_HistoricoVendedorFinal,$arreglo_probable);
                        }
                }
            }
// Fin de la condicion cuando  la variable vendedor tmp no esta vacio 
            
else{
                if(
$Vendedor == $val[$i]['Vendedor']){ 
                    if(
$grupo == $val[$i]['GrupoDeVendedores']){    
                        if (empty(
$FechaInicial)){    
                            
$FechaInicial FormatearFecha($val[$i]['Fecha']);
                        }else{    
                             
$FechaFinal FormatearFecha($val[$i]['Fecha']);
                        }
                    }
// Fin de la condicion cuando el grupo es diferente 
                    
else{    
                            if (empty(
$FechaInicial)){    
                                
$FechaInicial FormatearFecha($val[$i]['Fecha']);
                            }
                            else{    
                                
$FechaFinal FormatearFecha($val[$i]['Fecha']);
                            }    
                    }
                    
//------------  Validamos el tipo de vendedor -----------------    /                    
                            
if ($tipo_Vendedor == NULL){
                                 
$this->genera_VendedorActual($Vendedor);
                                 
$tipo_Vendedor =  $this->val_TipoVendedorActual;
                            }
                            
                            if(
is_null($val[$i]['GrupoDeVendedores'])){
                                
//echo $Vendedor."----".$grupo."<br>";
                                
$grupo $grupo;
                            }
                            
                       
$arreglo_probable    =    array("Vendedor"=>$Vendedor,
                                                  
"grupo"=>$grupo,
                                                  
"tipo_Vendedor"=>$tipo_Vendedor,
                                                  
"fecha_ini"=>$FechaInicial,
                                                  
"fecha_fin"=>$FechaFinal,
                                                  
"Sucursal"=>$cod_sucursal
                                                      
);                                                          
                        
array_push($this->arr_HistoricoVendedorFinal,$arreglo_probable);
                        
$FechaFinal '';
                        
$FechaInicial =    FormatearFecha($val[$i]['Fecha']);
                        
$grupo $val[$i]['GrupoDeVendedores'];    
                        
$cod_sucursal $val[$i]['Sucursal'];    
                        
$tipo_Vendedor $val[$i]['TipoVendedor'];    
                }
// Fin de la condicion cuando el vendedor es diferente 
                
else{     
                    if(
$grupo == $val[$i]['GrupoDeVendedores']){    
                        if (empty(
$FechaInicial)){    
                            
$FechaInicial FormatearFecha($val[$i]['Fecha']);
                        }else{    
                             
$FechaFinal date("Y-m-d H:i:s");
                        }
                    }else{    
                            if (empty(
$FechaInicial)){    
                                
$FechaInicial FormatearFecha($val[$i]['Fecha']);
                                
                            }else{    
                                
$FechaFinal date("Y-m-d H:i:s");
                            }
                    }                
                            
//------------  Validamos el tipo de vendedor -----------------    /                    
                            
if ($tipo_Vendedor == NULL){
                                 
$this->genera_VendedorActual($Vendedor);
                                 
$tipo_Vendedor =  $this->val_TipoVendedorActual;
                            }
                            
                            
                                if(
is_null($val[$i]['GrupoDeVendedores'])){
                                
//echo $Vendedor."----".$grupo."<br>";
                                 
$grupo;
                                }
                            
                       
$arreglo_probable    =    array("Vendedor"=>$Vendedor,
                                                      
"grupo"=>$grupo,
                                                      
"tipo_Vendedor"=>$tipo_Vendedor,
                                                      
"fecha_ini"=>$FechaInicial,
                                                      
"fecha_fin"=>$FechaFinal,
                                                      
"Sucursal"=>$cod_sucursal
                                                      
);                                                          
                        
array_push($this->arr_HistoricoVendedorFinal,$arreglo_probable);
                        
//************************* Inicializamos nuevamente los procesos ************************* /  
                        
$FechaFinal '';
                        
$FechaInicial =    FormatearFecha($val[$i]['Fecha']);
                        
$Vendedor    =    $val[$i]['Vendedor'];
                        
$grupo $val[$i]['GrupoDeVendedores'];    
                        
$cod_sucursal $val[$i]['Sucursal'];
                        
$tipo_Vendedor $val[$i]['TipoVendedor'];        
                }
            }    
        }
// FIN DEL BUCLE  FOR 
En el segmento

Código PHP:
if(is_null($val[$i]['GrupoDeVendedores'])){
                                
//echo $Vendedor."----".$grupo."<br>";
                                
$grupo $grupo;
                            }

 
$arreglo_probable    =    array("Vendedor"=>$Vendedor,
                                                  
"grupo"=>$grupo,
                                                  
"tipo_Vendedor"=>$tipo_Vendedor,
                                                  
"fecha_ini"=>$FechaInicial,
                                                  
"fecha_fin"=>$FechaFinal,
                                                  
"Sucursal"=>$cod_sucursal
                                                      
); 
Creo mi arreglo, el arreglo no me toma la variable " $grupo " que esta dentro de la condicion del is_null.... siendo que si cumple la misma.

Gracias
  #2 (permalink)  
Antiguo 15/07/2011, 07:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con campo NULL

Si quieres comprobar si existe o no el campo, mejor usa empty().

Saludos.
  #3 (permalink)  
Antiguo 15/07/2011, 07:43
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Problema con campo NULL

Hola gracias compa

Con el empty me hace la validacion correcta, el problema es que al crear mi arreglo es como si no tomara la variable grupo que esta dentro de la condicion, porque al hacerle un var_dump me aparece el campo grupo NULL, y no deberia ser asi porque supuestamente valide eso.

Gracias
  #4 (permalink)  
Antiguo 15/07/2011, 07:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con campo NULL

Pero ahí no estas validando nada, le estas diciendo que si la variable esta vacia, $grupo=$grupo esa no es una validación.
  #5 (permalink)  
Antiguo 15/07/2011, 07:51
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Problema con campo NULL

Ok compañero...

mmmm no fijate que no estoy validando la variable grupo, si no el campo que viene en ciclo, la variable grupo es el valor del ciclo anterior entonces esta diciendo si el campo Grupo que viene en el ciclo es NULL , reemplace por la variable grupo del ciclo anterior..

pero no funciona.... :(
  #6 (permalink)  
Antiguo 15/07/2011, 08:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con campo NULL

Más bien entonces deberías de validarlo al revez:
Código PHP:
Ver original
  1. if (!empty($laVariableActual)) {
  2.        $grupo = $laVariableActual;
  3. }

y dejar que $grupo sea la última variable que sí tenia valores.

Saludos.
  #7 (permalink)  
Antiguo 15/07/2011, 08:14
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Problema con campo NULL

Hola nuevamente,

Vale ya hice la validacion , y si funciona porque imprimo la variable y la muestra , pero mi arreglo es como si no me tomara esa variable que esta dentro de la condicion..... deberia funcionar pero no...

Gracias..
  #8 (permalink)  
Antiguo 15/07/2011, 08:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con campo NULL

Prueba hacer un var_dump() despues de asignar a $arreglo_probable para ver si genero el array de forma correcta.

Saludos.
  #9 (permalink)  
Antiguo 15/07/2011, 08:19
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Problema con campo NULL

Hola , si pues estoy haciendo las pruebas con el var_dump,
mi arreglo queda tal como es con las respectivas validaciones excepto la del NULL..... no se que sea....
  #10 (permalink)  
Antiguo 15/07/2011, 10:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con campo NULL

¿Es que no entiendo bien que problema tienes, quieres que quede o no quede null?
  #11 (permalink)  
Antiguo 15/07/2011, 10:28
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Problema con campo NULL

Hola compañero...

Te voy a dar un ejemplo de lo que hace el script :

Este es el resultado de mi consulta:


Código:
Vendedor       GrupoDeVendedores              Fecha         -- demas campos 
01                         10              2010-01-05        
01                         NULL          2010-02-02       
02                         5                2008-10-01      
03                         25              2009-02-12        
03                         NULL          2009-02-30
El resultado del script deberia quedar asi:


Código:
Vendedor       GrupoDeVendedores       FechaInicial           FechaFinal     
01                         10                  2010-01-05     2010-02-02  
01                         10                2010-02-02      Fecha Actual 
02                         5                    2008-10-01        Fecha Actual 
03                         25                  2009-02-12      2009-02-30  
03                         25                2009-02-30       Fecha Actual
Lo que esta en negrita, era los campos NULL que quiere decir que el vendedor nunca cambio de grupo por lo tanto todavia pertenece al grupo anterior...

Vale gracias..

Etiquetas: null, registro, variables, campos
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 04:45.