De 1000 Kg
De 2000 Kg
De 10000 Kg
De 15000 Kg
al hacer un order by por ese campo me lo ordena de la siguiente manera
De 1000 Kg
De 10000 Kg
De 15000 Kg
De 2000 Kg
Alguien sabe el por que o me puede dar una solucion
Gracias
Un Saludo
![Cool](http://static.forosdelweb.com/fdwtheme/images/smilies/cool.png)
| ||||
loading......... que no uses campo varchar sinò INT connection closed.
__________________ Maborak Technologies |
| ||||
No consigo que me funcione el cast simepre me pone You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'int) from capacidad' at line 1 El sql es $consulta = mysql_query("SELECT * FROM $tabla order by cast(nombre AS int)") or die(mysql_error()); Un Saludo ![]() |
| ||||
Pero si esos "De" y "Kg" son constantes ¿por qué no manejarlos aparte?... utiliza un campo int (como debe de ser para manejar cantidades) y el "De" y "Kg" solo imprimelos a la hora de mostrar los datos; si las unidades han de variar ("Kg", "Ton", "gr"...) puedes manejarlas igual en un campo aparte. La cuestión es tener las cantidades en un campo int de manera independiente. De que se puede hacer lo que dices se puede pero sería más trabajo y poco eficiente: - Consultas - Explotas (por espacios) - Guardas en matricez temporales (asociadas) - Ordenas (esto ya fuera de la consulta) - Imprimes ... ![]() Solo sugiero... Un saludo! ![]()
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| ||||
Jam el problema es que no se si son constantes o no de momento parace que si que siempre es De numero Kg , pero el problema sera si les da pro cambiar por que a mi en principio me dijeron que seria De numero Hasta Numero.... yo queria resolverlo en el sql o en como tu dices para no tener que tocar casi codigo, pero bueno... Asi que no me complico ni vagueo mas, voy a poner un campor orden y que ellos los hagan como les salga del mismisimo... es que es el tipico cliente tocape.... Un Saludo y Gracias a los dos ![]() |
| ||||
Cita: Si no estuviesen en la misma unidad [kg], y se pudiesen poner gr, mts, etc no tendria sentido ordenarlos, o ya tendrias que hacer algo mas complejo que un "order by". Yo creo que tendrias que volver a consulta si "de y kg" van a ser constantes nuevamente.
Iniciado por DINASEN Jam el problema es que no se si son constantes o no de momento parace que si que siempre es De numero Kg , pero el problema sera si les da pro cambiar por que a mi en principio me dijeron que seria De numero Hasta Numero.... Saludos! |
| ||||
DINASEN, con la funcion substring() de mysql puedes seleccionar sólo el numero, pero igual dependes de que DE y Kg sean constantes en su tamaño. select * from tabla order by cast(substring(campo,xx,yy) as UNSIGNED); donde xx es la posicion del primer numero e yy es la cantidad de numeros. |
| ||||
ok claudio me tenemos dos problemas con eso 1º no se si es constante el valor puede que si o puede que no 2º tampoko sabemos la cantidad de numeros que habra que que puede ser De 1 Kg y optyro puede ser De 100000 Kg Muchas gracias pero currare un poko y pondre un campo orden asi que ellos lo controlen Un Saludo |