Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/07/2003, 06:13
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Depende del formato de las fechas. En PHP no hay un tipo DATE. Asi que cuando haces la comparacion entre los dos valores, PHP hara o una comparacion de cadenas de texto, o una comparacion de numeros. El DATE_SUB de MySQL no se que formato devuelve (timestamp, date, ...). Y no se el formato de tu campo 'FECHA' en la otra consulta. Puedes hacer un echo de ambos valores para ver si estan en el mismo formato. Y si en eese formato la comparacion funcionara.

Pero tambien podrias hacer la comparacion en la primera consulta, la de $fecha_mysql. Podrias hacer:

SELECT *, FECHA, (TO_DAYS(CURDATE()) - TO_DAYS(FECHA)) as dias_diferencia FROM tabla

Luego puedes hacer:
Código PHP:
if (15>$row['dias_diferencia']) {
  echo 
'caducado';
} else {
  echo 
'vigente';

Asi no debes hacer otra consulta. Las funciones de manejo de fechas de MySQL estan en http://www.mysql.com/doc/en/Date_and...functions.html . Lo que hago es calcular la diferencia en dias entre la fecha actual y la del registro. Luego solo es comparar si ese valor es mayor de 15.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.