Foros del Web » Programando para Internet » PHP »

como ordenar una cadena.....

Estas en el tema de como ordenar una cadena..... en el foro de PHP en Foros del Web. tengo un problema con una bd.. 11 11 7 7 7 7 7 7 8 9 9 9 9 9 9 9 son unas fechas ...
  #1 (permalink)  
Antiguo 10/09/2005, 18:29
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Exclamación como ordenar una cadena.....

tengo un problema con una bd..


11
11
7
7
7
7
7
7
8
9
9
9
9
9
9
9
son unas fechas que deo ordenar y me ordena asi, kiero que salga de menor a mayor... el problema esk use varchar...... y kreo k por eso.... me lo ordena asi ya probre usando ASC Y DESC Y nada habia visto una forma de hacer un casting.... o lago asi al momento de la select pero no estoyt muy seguro.... kisiera que me ayudaran... atte: jose un saludo de antemano.

o si no es posible ordenar.... kisas se pueda cambiar el tipo de dato de la tabla sobre la marcha que es ves de ser varchar sera int... pero sin perdr la info..
  #2 (permalink)  
Antiguo 10/09/2005, 19:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues así es .. no deberías haber usado un "varchar" .. así no podrás hacer muchas cosas de forma tan simple (con SQL puro) como si hubieses usado campos tipo DATE o DATETIME en tu creación de tu BD .. Te recomendaría migrar esas fechas al formato standar DATE y de ahí modificar el tipo de campo por DATE o DATETIME según corresponde ..Por qué .. ahora tienes ese problema de ordenamiento .. pero mañana querras hacer por ejemplo cosas como ver grupos de fechas o cálculos con ellas y no te será tan simple.

Deberías indicar que formato de fecha usastes .. pero el "migrador" es bien simple .. toma tus datos y los ordenas según el formato DATE (mm-dd-aaaa) .. como usas un campo varchar .. el dato anterior lo sustituyes por el nuevo (un UDAPTE) y cuando tengas todos tus datos en el nuevo formato ... cambias el tipo de campo por DATE (según corresponda) .. Hazte copia de seguridad de tus tablas antes de hacer pruebas, pierdes un poco de tiempo ahora en hacer ese "migrador" .. ya aprendistes la lección y todo lo que venga despues será más sencillo usando SQL.


Un saludo,
  #3 (permalink)  
Antiguo 10/09/2005, 20:50
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Exclamación

muchas gracias cluster,,, tienes razon aprendi la leccion, por eso eres el master o mejor dicho moderador....................


el problema es k solo uso el dia....no tomo como referencia toda la fecha si no solo el dia... pork son constantes los demas y no necesito esa info... entonces me recomendarias que........... lo convierta a tipo int.... pork el date no lo usare solo uso el dia cluster.... que opinas...
la leccion kreelo que si.... la aprendi muchas gracias master.
pero te pido tu asesoramiento con respecto a eso...


y a cualkiera que deese opinar. gracias
  #4 (permalink)  
Antiguo 11/09/2005, 10:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En ese caso si, .. usa un tipo de campo numérico .. Ajustalo según el rango que uses de "días" (no es necesario que deroches espacio en tu BD si defines como un entero (INT) cuando puedes ajustarlo a algo menos).

Un saludo,
  #5 (permalink)  
Antiguo 11/09/2005, 13:32
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
gracias hermano......... te debo una....
oishhhhhhhhh.
oishhhhhhhhh.
bye.
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 05:02.