Foros del Web » Programando para Internet » PHP »

Ayuda urgente, ordenar

Estas en el tema de Ayuda urgente, ordenar en el foro de PHP en Foros del Web. Buenas a todos, aver si alguien me echa una manita Tengo realizada una galeria, y las ordeno asi: Código PHP: function  orden ( $c , ...
  #1 (permalink)  
Antiguo 22/05/2010, 08:21
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
Ayuda urgente, ordenar

Buenas a todos, aver si alguien me echa una manita


Tengo realizada una galeria, y las ordeno asi:


Código PHP:
function orden($c,$d){
    global 
$ruta;
    return 
strcmp(strtolower($c), strtolower($d));

El problema es, que cuando carga la imagen numero 10, en vez de ponermela detras del 9, me la pone como si fuera 1, como puedo modificar esa funcion para que me lea bien los numeros? imagino que no funciona del todo bien porque comparo strings... Saludos.
  #2 (permalink)  
Antiguo 22/05/2010, 08:30
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Ayuda urgente, ordenar

Cita:
Iniciado por rayko3k Ver Mensaje
imagino que no funciona del todo bien porque comparo strings...
Tú lo haz dicho; lo tienes claro. Entonces, solo sería de agregarle la comparación para los números ¿no?; ¿cuál es tu problema?.

Si lo es el identificar si el parámetro es un número --no se me ocurre qué más--, puedes utilizar la función is_numeric(), luego hacer la comparación directa.
www.php.net/is_numeric
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 22/05/2010, 08:39
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, ordenar

Cita:
Iniciado por maturano Ver Mensaje
Tú lo haz dicho; lo tienes claro. Entonces, solo sería de agregarle la comparación para los números ¿no?; ¿cuál es tu problema?.

Si lo es el identificar si el parámetro es un número --no se me ocurre qué más--, puedes utilizar la función is_numeric(), luego hacer la comparación directa.
[url]www.php.net/is_numeric[/url]
Se me ha olvidado poner esto:

Código PHP:

function orden($c,$d){
    global 
$ruta;
    return 
strcmp(strtolower($c), strtolower($d));
}  

            while (
$file readdir($filehandle)) {
                if (
$file != "." && $file != "..") {
                    
$archivo[]=$file;
                    
usort($archivo"orden");            
                }
            } 
no se si el usort es el problema o que, no tengo mucha idea de php.
Lo que quiero esque me compare bien los numeros, no hay nada para substituir al strcmp? no me interesa saber si es numero o no, solo que compare como numeros
no se .. a ver si me podeis ayudar gracias

Última edición por rayko3k; 22/05/2010 a las 08:46
  #4 (permalink)  
Antiguo 22/05/2010, 09:13
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, ordenar

Ya lo solucione, dejo la solucion alomejor a alguien le sirve algun dia.

Código PHP:
function orden($c,$d){
    global 
$ruta;

    
$numero1 ereg_replace("[^0-9]"""$c);
    
    
$numero2 ereg_replace("[^0-9]"""$d);
        
    if(
$numero1 10){
    
$prefix "0";
    
$numero1="0".$numero1;
    }
    
    if(
$numero2 10){
    
$prefix "0";
    
$numero2="0".$numero2;
    }
    
    return 
strcmp(strtolower($numero1), strtolower($numero2));


Última edición por rayko3k; 22/05/2010 a las 09:25

Etiquetas: Ninguno
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 06:34.