Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/06/2009, 17:04
Avatar de juan jose bejar
juan jose bejar
 
Fecha de Ingreso: noviembre-2005
Ubicación: Córdoba - Argentina
Mensajes: 14
Antigüedad: 19 años
Puntos: 3
Ordenar string con números

Hola,

estoy armando un sitio en php+mysql, y se me pianta un criterio de selección cuando traigo una consulta de la base de datos.

La consulta es la siguiente:

Código PHP:
$Sql="SELECT prod_id,cat_id,prod_codigo,prod_descripcion,prod_miniatura FROM productos WHERE prod_disponible=1 AND cat_id=".$id_categoria." GROUP BY prod_codigo ORDER BY prod_codigo ASC"
En la consulta ordeno por el código de producto pero si bien se realiza correctamente se me produce un error lógico con lo siguiente:

Hay códigos de productos que son así: "Nº 3","Nº 4", "Nº 5",.....,"Nº 11", "Nº 12", "Nº 13",.... etc.

Cuando el SQL hace la consulta, toma para ordenar el primer número que encuentra y el resultado del orden es:

Nº 11
Nº 12
Nº 13
........
Nº 19
Nº 3
Nº 4
Nº 5
........
Nº 9

Es decir, que no me sirve el orden, por lo que lo que necesito es que quede de la siguiente manera:

Nº 3
Nº 4
Nº 5
Nº 6
......
Nº 11
Nº 12
Nº 13
......
etc.

Una primera solución sería poner el 0 (cero) antes del 3, 4, 5... etc, pero dentro de un listado de 600 productos, pedirle a mi cliente que le ponga un cero sería medio trucho...

¿Alguien conoce cómo se soluciona este "temita"?