Foros del Web » Programando para Internet » PHP »

como ordenar 1.1 - 1.10 - 1.2 - 1.3 ...

Estas en el tema de como ordenar 1.1 - 1.10 - 1.2 - 1.3 ... en el foro de PHP en Foros del Web. hola amigos. tengo en mysql una columna que almacena valores como 1.1 1.2 1.3 . . etc. el problema es que si tengo el valor ...
  #1 (permalink)  
Antiguo 06/09/2009, 13:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta como ordenar 1.1 - 1.10 - 1.2 - 1.3 ...

hola amigos.

tengo en mysql una columna que almacena valores como

1.1
1.2
1.3
.
.
etc.

el problema es que si tengo el valor "1.10"..
al listarlo, me los ordena

1.1
1.10
1.2
1.3
.
.

como puedo hacer para que me los ordene correctamente ?

lo hago asi:

Código PHP:
<?php
$item
mysql_query("select item from cargos where nom_contrato='$_POST[consulta_contrato]' order by item",$conexion) or die ("cago".mysql_error());        

while (
$row=mysql_fetch_array($itemMYSQL_NUM))
{
foreach(
$row as $ccargo
    { 
    print 
"$ccargo<br>"
    }
}

 
?>
gracias a todos.
  #2 (permalink)  
Antiguo 06/09/2009, 16:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como ordenar 1.1 - 1.10 - 1.2 - 1.3 ...

Opcion 1: Crea en tu tabla dos campos para item - subitem y tu consulta: ORDER BY item, subitem
Opcion 2: Intenta modificando ese campo de varchar a float (o double)
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 06/09/2009 a las 18:50
  #3 (permalink)  
Antiguo 06/09/2009, 16:32
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: como ordenar 1.1 - 1.10 - 1.2 - 1.3 ...

1.1
1.10
1.2
1.3

me imagino que ese campo es de tipo float en la BD, y de hecho te los ordena de esa forma porque 1.1 es igual a 1.10, asi que en mi opinion estan listados de forma correcta
  #4 (permalink)  
Antiguo 06/09/2009, 18:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como ordenar 1.1 - 1.10 - 1.2 - 1.3 ...

Cita:
Iniciado por kike00
te los ordena de esa forma porque 1.1 es igual a 1.10
Ups!!! cierto, opcion 2 sugerida por Triby es no viable!!!
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 06/09/2009, 20:22
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Respuesta: como ordenar 1.1 - 1.10 - 1.2 - 1.3 ...

Si una opción es meter los datos en un array, entonces con la función natsort deberías estar:

http://us.php.net/manual/en/function.natsort.php

Saludos !
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
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 10:45.