Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/07/2012, 14:33
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consultar registros en un rango de varios campos

Hola de nuevo:

Mucho cuidado, de la manera en que estás comparando tus datos en realidad estas comparando CADENAS, no fechas... es muy diferente, la idea sería esa, pero como te dije en el post pasado DEBES CONVERTIR TUS DATOS A UNA FECHA VÁLIDA. Es decir, tendrías que hacer algo como esto:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+------+------+------+
  3. | ID   | DM   | MM   | AM   |
  4. +------+------+------+------+
  5. |    1 |   19 |    7 | 2012 |
  6. |    2 |   14 |    8 | 2012 |
  7. |    3 |    9 |   10 | 2012 |
  8. |    4 |   21 |   12 | 2012 |
  9. +------+------+------+------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> SELECT
  13.     ->   id, dm, mm, am,
  14.     ->   STR_TO_DATE(CONCAT(am, '-', mm, '-', dm), '%Y-%c-%e') fecha
  15.     -> FROM tabla;
  16. +------+------+------+------+------------+
  17. | id   | dm   | mm   | am   | fecha      |
  18. +------+------+------+------+------------+
  19. |    1 |   19 |    7 | 2012 | 2012-07-19 |
  20. |    2 |   14 |    8 | 2012 | 2012-08-14 |
  21. |    3 |    9 |   10 | 2012 | 2012-10-09 |
  22. |    4 |   21 |   12 | 2012 | 2012-12-21 |
  23. +------+------+------+------+------------+
  24. 4 rows in set (0.00 sec)

Observa que de esta manera ahora si, estarías comparando contra un campo tipo DATE... también debes tener cuidado con tus parámetros fechaMin y fechaMax... si no traen el formato ANSI de fecha (yyyy-mm-dd) DEBES CONVERTIRLO con la función STR_TO_DATE es decir, debería quedar así:

Código:
STR_TO_DATE(CONCAT(am, '-', mm, '-', dm), '%Y-%c-%e') 
>=
STR_TO_DATE('".$Parametros[FechaMin]."', 'formato de tu fecha')"
en la parte con rojo deberías poner el formato con el que venga tus fechas.

Saludos
Leo.