Foros del Web » Programando para Internet » PHP »

Recorrer array invertido

Estas en el tema de Recorrer array invertido en el foro de PHP en Foros del Web. Estoy trabajando con una base de datos y quiero recorrer un array que contiene datos de una tabla de atras para adelante, es decir desde ...
  #1 (permalink)  
Antiguo 13/08/2012, 23:34
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 16 años, 6 meses
Puntos: 1
Recorrer array invertido

Estoy trabajando con una base de datos y quiero recorrer un array que contiene datos de una tabla de atras para adelante, es decir desde el ultimo elemento del array hacia el primero.

Cual es la forma mas eficiente de hacer esto? Pensaba contar el array y recorrerlo al revez pero quiero saber si existen mejores formas de hacer esto que es algo bastante basico al trabajar con bases de datos.

Codigo:

$datos = mysql_query($sql, $db);

// $datos pasa a ser un array con valores de una consulta a la base de datos.
  #2 (permalink)  
Antiguo 13/08/2012, 23:45
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Recorrer array invertido

A ver, para comenzar, en el ejemplo que has dejado $datos NO ES UN ARRAY, es un "resource" de MySQL, para "convertirlo" a array debes forzosamente recorrer los registros y guardarlos en un array para después invertirlos, aunque, si bien con SQL puedes hacer lo mismo con el "parametro" "ORDER BY", con el cual puedes ordenar los registros retornados por MySQL, en fin, si no puedes o no quieres tocar la consulta puedes hacer lo siguiente...

Código PHP:
Ver original
  1. $query = mysql_query($sql,$conexion) or die(mysql_error());
  2. $array = array();
  3.  
  4. //guardamos todos los registros dentro de un array para manipularlos...
  5. while($row = mysql_fetch_array($query)) {
  6.      $array[] = $row[0];
  7. }
  8.  
  9. //invertimos el orden de los items
  10. $newArray = array_reverse($array);
  11.  
  12. //vemos el orden de los dos array
  13. echo '<pre>';
  14. var_dump($array);
  15. var_dump($newArray);
  16. echo '</pre>';
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 13/08/2012, 23:50
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Recorrer array invertido

Si disculpa, yo lo estaba conviritiendo con un $array = mysql_fetch_array($datos) .

Gracias por la respuesta, de todas maneras estoy buscando una manera un poco mas corta de hacer esto, hace un tiempo que no programaba en PHP pero creo que de alguna manera se podia hacer todavia un poco mas eficiente.

Si llego a encontrar la manera aca vuelvo para que quede por si alguien mas lo necesita.

Etiquetas: mysql, sql, tabla
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:57.