Foros del Web » Programando para Internet » PHP »

Mostrando valor array dentro de función

Estas en el tema de Mostrando valor array dentro de función en el foro de PHP en Foros del Web. Hola tengo esta función que funciona correctamente pero al querer mostrar los datos de la consulta me muestra solo "array" (pero no el "titulo" que ...
  #1 (permalink)  
Antiguo 17/12/2004, 11:26
Avatar de neofito  
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 5 meses
Puntos: 0
Mostrando valor array dentro de función

Hola tengo esta función que funciona correctamente pero al querer mostrar los datos de la consulta me muestra solo "array" (pero no el "titulo" que es lo que yo quiero):

Código PHP:
function lista_imagenes($cod_categoria) {
  
open();
  
$query "SELECT id,grafico,cod_categoria,titulo FROM imagenes WHERE cod_categoria='$cod_categoria'";
  
$result mysql_query($query) or die(mysql_error());
  while(
$gfx mysql_fetch_array($result)) {
    
$gfxs[]=$gfx;
  }
  return 
$gfxs;

Si luego escribo lo de aquí abajo y me muestra solo "Array" pero ningún valor, y yo quiero que me muestre el valor "titulo" de la consulta:

Código PHP:
<?=$gfxs?>
  #2 (permalink)  
Antiguo 17/12/2004, 11:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. eso es normal .. estás generando un array en:

while($gfx = mysql_fetch_array($result)) {
$gfxs[]=$gfx;
}

Así que tendrás que leer tu posible array que vas a obtener:

Código PHP:
$resultado=lista_imagenes("nose");
foreach (
$resultado as $valor){
  echo 
$valor."<br>";

Un saludo,
  #3 (permalink)  
Antiguo 17/12/2004, 12:00
Avatar de neofito  
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola de nuevo, "creo" estar haciendolo bien pero no me da el error
"Warning: Invalid argument supplied for foreach() " quiero entender que es lo que pasa para entender donde meto la pata ¿? Gracias

Código PHP:
$resultado=lista_imagenes($_GET['titulo']);
foreach (
$gfxs as $resultado){
  echo 
$titulo."<br>";

  #4 (permalink)  
Antiguo 17/12/2004, 12:25
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 20 años, 10 meses
Puntos: 1
Cita:
Iniciado por neofito
Hola tengo esta función que funciona correctamente pero al querer mostrar los datos de la consulta me muestra solo "array" (pero no el "titulo" que es lo que yo quiero):

Código PHP:
function lista_imagenes($cod_categoria) {
  
open();
  
$query "SELECT id,grafico,cod_categoria,titulo FROM imagenes WHERE cod_categoria='$cod_categoria'";
  
$result mysql_query($query) or die(mysql_error());
  while(
$gfx mysql_fetch_array($result)) {
    
$gfxs[]=$gfx;
  }
  return 
$gfxs;

Si luego escribo lo de aquí abajo y me muestra solo "Array" pero ningún valor, y yo quiero que me muestre el valor "titulo" de la consulta:

Código PHP:
<?=$gfxs?>


Y porque donde pone
Código PHP:
<?  $gfxs[]=$gfx;  ?>
no pones
Código PHP:
<?  $gfxs = array($gfx[titulo]);  ?>
__________________
Ado_k2 :adios:
  #5 (permalink)  
Antiguo 17/12/2004, 12:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
¿Realmente no sé de donde te sacas tus nombres de tus variables o de donde esperas que salgan?

De tu código original .. tendrás que hacer algo tipo:
Código PHP:
$i=0;
while(
$gfx mysql_fetch_array($result)) { 
    
$gfxs[$i]['titulo']=$gfx['titulo'];
    
$gfxs[$i]['id']=$gfx['id'];
    
// etc ...
    
$i++;
  } 

Para leelo tipo:

Código PHP:
$resultado=lista_imagenes($_GET['titulo']); 
foreach (
$resultado as $gfx){ 
  echo 
$gfx['id']."=".$gfx['titulo']."<br>"

Realmente no sé si hacer:
$array[]=$nose;

siendo $nose=mysql_fetch_array($result); .. va a a quedar un array que puedas tomar en $array[]['nombre_campo'] .. pero si no es así .. como te indico funciona (o debe).

Si te finas ... ya estás haciendo un proceso dos veces .. estás recorriendo un "record-set" o un array que has creado dos veces + lo que corresponda al proceso en sí de creación de tu array .. No sé hasta que punto valdrá la pena hacerlo asi. Necistas dos veces recorrer un "array" similar .. Piensalo.

Un saludo,

Última edición por Cluster; 17/12/2004 a las 12:30
  #6 (permalink)  
Antiguo 17/12/2004, 14:03
Avatar de neofito  
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas gracias por la ayuda, ahora me funciona, y lo que es mejor entiendo porque no me chutaba, que paciencia teneis...
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 17:46.