Foros del Web » Programando para Internet » PHP »

Error

Estas en el tema de Error en el foro de PHP en Foros del Web. Hola a todos, tengo esta funcion que recorre un excel, lo que sucede es que cuando no lo meto en una función anda todo bien ...
  #1 (permalink)  
Antiguo 30/01/2008, 08:37
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Error

Hola a todos, tengo esta funcion que recorre un excel, lo que sucede es que cuando no lo meto en una función anda todo bien pero cuando pongo la función y pongo para llamarla no hace nada la pagina. Alguno ve algún error? Muchas gracias.
Código PHP:
function agentes($pais){
$i=3;
while((
$data->sheets[0]['cells'][$i][2])!=""){  //veo si el valor es distinto de cero
        
if(($data->sheets[0]['cells'][$i][1])==="$pais"){
        for(
$j=2;$j<10;$j++){
                echo 
"Fila $i Columna $j: ";                 //Imprimo los valores
                
echo $data->sheets[0]['cells'][$i][$j];
                echo 
"<br>";
                            }
                                                        }
                            
$i++;
                                            }
                      }

$pais="argentina";
agentes("$pais"); 
  #2 (permalink)  
Antiguo 30/01/2008, 09:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Error

Prueba poniendo global $data; al principio de tu función, o pasa $data también como parámetro a tu función.

Saludos.
  #3 (permalink)  
Antiguo 30/01/2008, 09:32
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Error

creo que lo que pasa es que la función esta buscando a $data->sheets como local y no es asi, tienes que pasarlo a la funcion o de lo contrario hacer que la llame como si fuera global
prueba con esto:
Código PHP:
function agentes($pais){
global 
$data;
$i=3;
while((
$data->sheets[0]['cells'][$i][2])!=""){  //veo si el valor es distinto de cero
        
if(($data->sheets[0]['cells'][$i][1])==="$pais"){
        for(
$j=2;$j<10;$j++){
                echo 
"Fila $i Columna $j: ";                 //Imprimo los valores
                
echo $data->sheets[0]['cells'][$i][$j];
                echo 
"<br>";
                            }
                                                        }
                            
$i++;
                                            }
                      }
$pais="argentina";
agentes("$pais"); 
saludos.

EDITO:
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 31/01/2008, 04:41
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Error

Era eso le agregué el global $data; y anduvo muchas gracias.
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 14:11.