Foros del Web » Programando para Internet » PHP »

Como iterar sobre elementos de un return mysql_fetch_assoc desde una funcion

Estas en el tema de Como iterar sobre elementos de un return mysql_fetch_assoc desde una funcion en el foro de PHP en Foros del Web. Hola amigos. Tengo la siguiente función function recuperar(){ include("conn.pgp"); $q = "SELECT * FROM datos_prueba "; $r = mysql_query($q,$conexion); if(mysql_num_rows($r)>0): return mysql_fetch_assoc ($r); else: return ...
  #1 (permalink)  
Antiguo 01/09/2011, 14:37
 
Fecha de Ingreso: octubre-2009
Ubicación: Merida Yucatan
Mensajes: 93
Antigüedad: 14 años, 6 meses
Puntos: 2
Pregunta Como iterar sobre elementos de un return mysql_fetch_assoc desde una funcion

Hola amigos.

Tengo la siguiente función


function recuperar(){
include("conn.pgp");
$q = "SELECT * FROM datos_prueba ";
$r = mysql_query($q,$conexion);
if(mysql_num_rows($r)>0):
return mysql_fetch_assoc ($r);
else:
return false;
endif;
}

en teoría debo poder iterar sobre los elementos contenidos de la funcion recuperar()

while($dato = $clase_control->recuperar())
{
echo $dato ["id_dato"];
}
Pero por alguna causa esto se cicla y no despliega ningun dato

igual ya probe con un foreach y tampoco me funciona.
foreach($dato as $datos) {
echo $datos["id_dato"]."<br />";
}

Alguien me puede decir como puedo íterar en todos los datos contenidos en el arreglo recuperado por mi consulta?

gracias.

llevo como 2 horas con testo :/
  #2 (permalink)  
Antiguo 01/09/2011, 14:43
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: Como iterar sobre elementos de un return mysql_fetch_assoc desde una funci

Si solo estas retornando una vez el mysql_fetch_array() no vas a poder iterarlo, ya que tu función se ejecuta toda completa cada que la mandas llamar, tienes que guardar el resultset y luego accederlo desde otra función que te vaya regresando los datos y así la puedas iterar.

Saludos.
  #3 (permalink)  
Antiguo 01/09/2011, 14:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Como iterar sobre elementos de un return mysql_fetch_assoc desde una funci

foreach($dato as $datos) {
echo $datos["id_dato"]."<br />";
}

El foreach haría innecesario el uso del índice $datos["id_dato"], en todo caso sería:
foreach($dato as $key=>$val) {
echo"$key: $val<br />";
}

No obstante deberías aclarar el por qué quieres recorrer con un ciclo el resultado del mysql_fetch_assoc, ya que a menos que desconozcas los índices o claves, no lo necesitas, en todo caso lo que necesitas es un while común para recorrer los registros de la consulta, ya sea por mysql_fetch_assoc o mysql_fetch_array
  #4 (permalink)  
Antiguo 01/09/2011, 18:19
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Como iterar sobre elementos de un return mysql_fetch_assoc desde una funci

para consultar solo una vez puedes hacer una session con el array de los resultados, y solo recorrerias esa variable de session y listo
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co

Etiquetas: bucle, comoiterar, iterar, mysql_fetch_assoc
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 13:35.