Bueno aqui les dejo un forma de como ordenar cadenas alfabeticamente (semejante al metodo de burbuja, claro esto es para texto), ayudandonos de las funciones que trae la base de datos Mysql en el ordenamiento.
Les esplico un poco, vamos a mostrar los archivos que tenemos en una carpeta, pero lo queremos ver en forma ordenada (alfabeticamente), la cual DEBE haber muchas formas de ordenarlas con PHP, pero aqui les doy una forma mas (creo :tongue , en este ejemplo voy a CREAR UNA TABLA TEMPORAL, esta me va a servir para insertar los registros en ella, una vez insertado solo me basta hacerle un SELECT * TABLA_TEMP ORDER BY a la tabla temporal.
Aqui les dejo mi ejemplo, +o- explicado, si les gusta comentennnnn
Recuerden que la tabla temporal existira mientras la conexión este abierta si es que nosotros no la destruimos antes. Una vez cerrada la conexión la tabla será destruida y el espacio que ocupava (en memória o disco) será liberado.
Espero les ayude en algo :wink:
---------------------------------------
http://www.videosconvida.com
---------------------------------------
Les esplico un poco, vamos a mostrar los archivos que tenemos en una carpeta, pero lo queremos ver en forma ordenada (alfabeticamente), la cual DEBE haber muchas formas de ordenarlas con PHP, pero aqui les doy una forma mas (creo :tongue , en este ejemplo voy a CREAR UNA TABLA TEMPORAL, esta me va a servir para insertar los registros en ella, una vez insertado solo me basta hacerle un SELECT * TABLA_TEMP ORDER BY a la tabla temporal.
Aqui les dejo mi ejemplo, +o- explicado, si les gusta comentennnnn
PHP:
<?php
/* primero nos conectamos a nuestra base de datos, en mi caso yo uso una clase que hereda la conexion */
include_once '../class/capa_datos.class.php';
$objD = new capa_datos(); //instanciamos la clase
//aqui creamos la tabla TEMPORAL
$resp = $objD->consultar("CREATE TEMPORARY TABLE listado_temp(
nombre TINYTEXT);
");
//verificamos que se halla creado correctamente
if(!$resp){
echo "Se produjo un error, Intentelo en unos minutos";
exit();
}
$path="subidos/";
$directorio=dir($path);
//en mi caso yo quiero listar los archivos que tengo en una carpeta (subidos/)
//con lo cual uso la funcion READ(), la cual lee todos los archivos que tengo en esta carpeta
while ($archivo = $directorio->read()){
//como ven aqui, miestras el READ va leyendo, yo voy insertanto EN LA TABLA TEMPORAL lo que READ() lee
$resp2 = $objD->consultar("insert into listado_temp values('$archivo')");
}
//una vez leido todo cierro el directorio o finalizo el READ()
$directorio->close();
//ahora que ya la tabla esta llena solo me falta hacer un simple select y
//decirle que los muestre ordenado, por lo cual le paso
//la instruccion ORDER BY {nombre de la columna}
$rf = $objD->consultar("select * from listado_temp ORDER BY nombre ASC");
//recoro la tabla temporal con un while
$i = 0;
while($row = mysql_fetch_row($rf)){
//como ven empiezo a imprimir los datos de la tabla temporal
echo "<div><a href='bajar.html?baja=$row[0]'>".$row[0]."</a></div>";
$i++;
}
?>
Recuerden que la tabla temporal existira mientras la conexión este abierta si es que nosotros no la destruimos antes. Una vez cerrada la conexión la tabla será destruida y el espacio que ocupava (en memória o disco) será liberado.
Espero les ayude en algo :wink:
---------------------------------------
http://www.videosconvida.com
---------------------------------------