|
| #2 |
 |
jurena |
Usuario |
05 abr 08 (18:07) |
|
|
La consulta de turl no creo que funcione siempre, pues un mes inferior tuyo no supone una fecha anterior siempre, sino que depende del año. Para hacerlo de ese modo con AND deberías usar muchos IF. Y no creo que haga falta:
Mi primera recomendación es que en MySQL cargues los datos en campos que sean campos apropiados para fecha DATE, DATETIME, YEAR, MONTH, TIMESTAMP, etc. Podrás hacerlo sin dificultad, actualizando con los datos que tienes, y luego podrás comparar todas las fechas sin tener que utilizar ni PHP ni otros recursos de Mysql no pensados realmente para hacer lo que vas a hacer. Y, además, podrás sacar sin dificultad los datos por separado cuando lo necesites.
Aún sin saber en qué tipo de campo has escrito los números correspondientes a año, mes y día (INT, VARCHAR, etc.), y si has puesto 0 o no por delante cuando el dígito es menor que 10, te diré que pruebes esto:
SELECT * FROM fecha WHERE TIMESTAMP(CONCAT (anofecha,'-',mesfecha,'-',diafecha)) > TIMESTAMP(NOW())
Sé que existe str_to_date en MySQL, pero yo no he logrado hacerlo funcionar con nombres de campo.
Con PHP también se puede hacer, pero que los técnicos nos digan si es mejor hacerlo desde MySQL o cargar los tres datos y con varias de sus funciones como mktime. Hay varios POSTs en nuestro foro que tratan cómo hacerlo. Búscalos, creo que alguno de ellos es de MIKE y en él nos explica sus preferencias. Te será muy útil para PHP
Suerte
|