Foros del Web » Programando para Internet » PHP »

Ordenar lista generada automáticamente

Estas en el tema de Ordenar lista generada automáticamente en el foro de PHP en Foros del Web. Hola. Mi problema es que en mi página se genera según diferentes categorías, un listado de archivos que están en un determinado directorio. El problema ...
  #1 (permalink)  
Antiguo 06/02/2012, 13:19
Avatar de rodrigoemece  
Fecha de Ingreso: septiembre-2011
Mensajes: 68
Antigüedad: 13 años, 2 meses
Puntos: 1
Exclamación Ordenar lista generada automáticamente

Hola. Mi problema es que en mi página se genera según diferentes categorías, un listado de archivos que están en un determinado directorio. El problema es que estos archivos aparecen en pantalla en un extraño orden que ni si quiera es el de última modificación. Me gustaría que apareciesen ordenados alfabéticamente. Gracias y un saludo.



Este es el código correspondiente al listado:
Código PHP:
Ver original
  1. <?php          
  2.         if ($gestor = opendir($_GET["arq"])) {
  3.    
  4.         echo "<ul>";
  5.         while (false !== ($arch = readdir($gestor))) {
  6.         if ($arch != "." && $arch != "..") {
  7.  
  8.  
  9. echo"<a href=\"". $_GET["arq"] ."/".str_replace(' ', '%20', $arch). "\" class=\"linkli\" TARGET='_blank'><strong>".$arch."</strong></a>
  10. <div id='docs'><p><a class='iframe' href=\"http://docs.google.com/viewer?url=nanube.eu/contido/". $_GET["arq"] ."/".str_replace('ç', 'ç',$arch). "\" class=\"linkli\">Vista previa</a></p>\n</div></br>";
  11.  
  12.         }
  13.         }
  14. $curso = ($_GET["name"]);
  15. $dir = ($_GET["arq"]);
  16.         closedir($gestor);
  17.         echo "</ul>";
  18.         }
  19.         ?>
  #2 (permalink)  
Antiguo 06/02/2012, 13:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Ordenar lista generada automáticamente

Lo que necesitas es agrupar todos los archivos en un arreglo y ordenar dicho arreglo, ya con el arreglo ordenando iteras e imprimes la lista como haces ahora.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/02/2012, 13:34
Avatar de rodrigoemece  
Fecha de Ingreso: septiembre-2011
Mensajes: 68
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Ordenar lista generada automáticamente

A ver lo he intentado con un array y un sort pero soy un novato y estoy hecho un lío
  #4 (permalink)  
Antiguo 06/02/2012, 13:39
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Ordenar lista generada automáticamente

Cita:
Iniciado por rodrigoemece Ver Mensaje
A ver lo he intentado con un array y un sort pero soy un novato y estoy hecho un lío
y segui intentando, busca en php.net como cargar un array y como ordenarlos.

es muy facil!
  #5 (permalink)  
Antiguo 06/02/2012, 13:42
Avatar de rodrigoemece  
Fecha de Ingreso: septiembre-2011
Mensajes: 68
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Ordenar lista generada automáticamente

probaré :)
  #6 (permalink)  
Antiguo 06/02/2012, 13:42
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 19 años, 4 meses
Puntos: 36
Respuesta: Ordenar lista generada automáticamente

Pues guardas los ficheros o directorios en un array:
Código PHP:
        $i 0
        
while (false !== ($arch readdir($gestor))) {
              if (
$arch != "." && $arch != "..") {
                  
$mis_archivos[$i] = $arch;
                  
$i++;
               }
          } 
// Ordenas el array por orden alfabético:
sort($mis_archivos);

¿Cómo probaste para ordenar el array que no te salió?
  #7 (permalink)  
Antiguo 06/02/2012, 13:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Ordenar lista generada automáticamente

Cita:
Iniciado por rodrigoemece Ver Mensaje
probaré :)
Y si no te resulta después de varios intentos muestra como lo haces y seguro te indicamos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: lista
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 22:23.