Foros del Web » Programando para Internet » PHP »

Recoger array devuelto por una función

Estas en el tema de Recoger array devuelto por una función en el foro de PHP en Foros del Web. Hola a todos/as Tengo un problema por que me lio mucho con serialize y unserialize, haber si alguein me puede hechar una manita Tengo la ...
  #1 (permalink)  
Antiguo 24/01/2008, 15:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Recoger array devuelto por una función

Hola a todos/as

Tengo un problema por que me lio mucho con serialize y unserialize, haber si alguein me puede hechar una manita

Tengo la siguiente funcion:

Código PHP:
  // Función para saber cuantos jefes de equipo ahi
function jefes_delegacion($id_operario,$id_delegacion){

// Consulta para saber si es jefe de equipo
$es_jefe=mysql_query("SELECT jefe_equipo FROM operarios WHERE id_delegacion='$id_delegacion' AND jefe_equipo='1'") or die (mysql_error());

$dame_jefes mysql_fetch_array($es_jefe);
$dame_jefes serialize ($dame_jefes);

return 
$dame_jefes;


Lo recogo así

$misjefes=unserialize (jefes_delegacion($id_operario,$id_delegacion));

print_r ($misjefes);

Pero solo me imprime el primer valor, se que algo estoy haciendo mal puesto que hay dos jefes de equipo.

Esto devuelve un array pero no hay manera de recogerlo en el script que lo tiene que utilizar.

Se que hay que utilizar serialize y despues unserialize, pero no se ni como ni donde he de aplicarlos, haber si alguien me hecha una manita y perdonar por lo pesao que soy.

Saludos y gracias
  #2 (permalink)  
Antiguo 24/01/2008, 15:36
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Recoger array devuelto por una función

serialize y unserialize CREO que se usa para objetos en sesiones, para devolver arrays no hay ningun problema con las funciones.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 24/01/2008, 15:45
 
Fecha de Ingreso: octubre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Recoger array devuelto por una función

Pues si, como ya te ha dicho Zital, envía directamente el array y lo recibes de la misma manera. En PHP lo tratas como una variable mas (inclusive en POST y GET los mandas igual).

Utiliza el serialize y unserialize si te lo han pedido asi, pero si no, en el return podrias poner

Código PHP:
$dame_jefes mysql_fetch_array($es_jefe);

return 
$dame_jefes
Y para acceder al contenido, pues apuntas al indice correspondiente.

Saludos!!!
  #4 (permalink)  
Antiguo 24/01/2008, 16:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Recoger array devuelto por una función

Cita:
Iniciado por Angel_Cruijff Ver Mensaje
Pues si, como ya te ha dicho Zital, envía directamente el array y lo recibes de la misma manera. En PHP lo tratas como una variable mas (inclusive en POST y GET los mandas igual).

Utiliza el serialize y unserialize si te lo han pedido asi, pero si no, en el return podrias poner

Código PHP:
$dame_jefes mysql_fetch_array($es_jefe);

return 
$dame_jefes
Y para acceder al contenido, pues apuntas al indice correspondiente.

Saludos!!!
Hola Angel_Cruijff

Lo recojo de la siguiente manera

echo $misjefes[1];
echo $misjefes[o];

Y lo he intentado de esta otra manera y na de na

echo $misjefes[0]['jefe_equipo'];
echo $misjefes[1]['jefe_equipo'];
y me devuelve el mismo valor y no puede ser ese, por que puede ser?

Saludos
  #5 (permalink)  
Antiguo 24/01/2008, 16:49
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: Recoger array devuelto por una función

yo las uso asi

function login_consulta($select_sql, $from_sql, $where_sql, $link_sql)
{
$consulta_sql = "SELECT $select_sql FROM $from_sql WHERE $where_sql";
$resultado_sql = mysql_query($consulta_sql,$link_sql) or die(mysql_error());
return $resultado_sql;
}

como la invoco
asi:

$consult_resultado=login_consulta($consult_select ,$consult_tabla ,$consult_where ,$conect_conexion);
$consult_row=mysql_fetch_array($consult_resultado) ;

echo $consult_row['WEB_ID'];
echo $consult_row['WEB_pas'];

ya si son mas de un registro uso el while o for

saludos
__________________
gerardo
  #6 (permalink)  
Antiguo 24/01/2008, 17:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Recoger array devuelto por una función

Cita:
Iniciado por chalchis Ver Mensaje
yo las uso asi

function login_consulta($select_sql, $from_sql, $where_sql, $link_sql)
{
$consulta_sql = "SELECT $select_sql FROM $from_sql WHERE $where_sql";
$resultado_sql = mysql_query($consulta_sql,$link_sql) or die(mysql_error());
return $resultado_sql;
}

como la invoco
asi:

$consult_resultado=login_consulta($consult_select ,$consult_tabla ,$consult_where ,$conect_conexion);
$consult_row=mysql_fetch_array($consult_resultado) ;

echo $consult_row['WEB_ID'];
echo $consult_row['WEB_pas'];

ya si son mas de un registro uso el while o for

saludos
Hola

Lo he intentado metiendo los resultados en un for y nada no se como accederlos desde fuera os pongo la funcion

Código PHP:
  // Función para saber cuantos jefes de equipo ahi
function jefes_delegacion($id_operario,$id_delegacion){

// Consulta para saber si es jefe de equipo
$es_jefe=mysql_query("SELECT id_operario FROM operarios WHERE id_delegacion='$id_delegacion' AND jefe_equipo='1'") or die (mysql_error());


$n_jefes = array();


for(
$i=0;$i<mysql_num_rows($es_jefe);$i++){
    
$n_jefes[$i] = mysql_fetch_assoc($es_jefe);
}


return 
$n_jefes;

Me devuelve cero cuando me deberia de devolver 2 .

no entiendo nada de nada.

Muchas gracias , saludos
  #7 (permalink)  
Antiguo 24/01/2008, 17:54
 
Fecha de Ingreso: octubre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Recoger array devuelto por una función

Hola que tal marco_sa!!!

Mira, creo que puedes hacerle de la sig. manera.

Recoges los datos:
Código PHP:
$misjefesjefes_delegacion($id_operario,$id_delegacion
Ahora, ya tienes los resultados de la consulta en $misjefes.
Para recorrer este array sería

Código PHP:
$cuantos count($misjefes
Con esto obtenes cuantos rows regreso la consulta.

Código PHP:
for($i=0;$i<$cuantos;$i++)
{
      echo 
$cuantos[$i][0];
      echo 
$cuantos[$i][1];
      ....

En donde el segundo subindice representa los campos que te esta regresando la consulta, que en este caso solo sería 'jefe_equipo' y solo necesitarías el segundo subindice en [0].

cualquier cosa, avisa.
Saludos!!!
  #8 (permalink)  
Antiguo 24/01/2008, 18:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Recoger array devuelto por una función

Cita:
Iniciado por Angel_Cruijff Ver Mensaje
Hola que tal marco_sa!!!

Mira, creo que puedes hacerle de la sig. manera.

Recoges los datos:
Código PHP:
$misjefesjefes_delegacion($id_operario,$id_delegacion
Ahora, ya tienes los resultados de la consulta en $misjefes.
Para recorrer este array sería

Código PHP:
$cuantos count($misjefes
Con esto obtenes cuantos rows regreso la consulta.

Código PHP:
for($i=0;$i<$cuantos;$i++)
{
      echo 
$cuantos[$i][0];
      echo 
$cuantos[$i][1];
      ....

En donde el segundo subindice representa los campos que te esta regresando la consulta, que en este caso solo sería 'jefe_equipo' y solo necesitarías el segundo subindice en [0].

cualquier cosa, avisa.
Saludos!!!
Hola Angel_Cruijff;

Muchas gracias por tu respuesta ya por lo he conseguido, no hubiera sido posible sin tu ayuda la verdad, ya estaba loco con codigo para arriba y para abajo.

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 06:37.