Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] comparar fechas

Estas en el tema de comparar fechas en el foro de Mysql en Foros del Web. buenos dias de repente alguien puedan ayudarme. tengo esta comparación de fechas Código PHP: function  listadatos ( $fecha )     { SELECT titulo ,  descripcion ,  fecha ...
  #1 (permalink)  
Antiguo 05/04/2013, 04:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 1
comparar fechas

buenos dias de repente alguien puedan ayudarme.

tengo esta comparación de fechas


Código PHP:
function listadatos($fecha)
    {
SELECT titulodescripcionfecha
        FROM tabladatos
    WHERE DATE_FORMAT
(fecha,'%d/%m/%Y') >= DATE_FORMAT($fecha,'%d/%m/%Y')


donde $fecha es la fecha base, debe listar las fechas mayores a esta pero la consulta no lista nada.

si alguien puede ayudarme.

gracias por su ayuda
  #2 (permalink)  
Antiguo 05/04/2013, 06:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: comparar fechas

El formato de la fecha de mysql es YYYY-mm-dd luego no hace falta que lo toques lo que tienes que hacer es tocar el de tu variable.

Código PHP:
Ver original
  1. function listadatos($fecha)
  2.     {
  3.  
  4. //$fecha debe tener el formato YYYY-mm-dd
  5.  
  6. ///Completa el codigo php para que se ejecute la query
  7.  
  8. SELECT titulo, descripcion, fecha
  9.         FROM tabladatos
  10.     WHERE fecha >= '".$fecha."
  11.  
  12.  
  13. }

La función DATE_FORMAT() de mysql es capaz de transformar el formato de una fecha mysql a otro formato pero debe partir de una fecha mysql .... luego no sirve para cambiar el formato de un string con un formato fecha cualquiera ...

Luego debes modificar el formato de $fecha con técnicas de tu lenguaje de programación (php, no? off topic de este foro) para que tenga el formato nativo de mysql YYYY-mm-dd y luego podras comparar...no necesitaras para nada DATE_FORMAT().

Si $fecha=2013-04-05 luego

"SELECT titulo, descripcion, fecha
FROM tabladatos
WHERE fecha >= '".$fecha.";"

Retornara los registros con fecha igual o superior a 5/4/2013 ojo a los delimitadores fecha >= 'aqui la fecha'.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 05/04/2013 a las 07:02
  #3 (permalink)  
Antiguo 05/04/2013, 06:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: comparar fechas

Estás mezclando PHP y SQL.
SQL es un lenguaje de consultas que PHP no entiende, como MySQL tampoco comprende PHP.
me sorprendería que no tengas un error de ejecución...
En cualquier caso, a menos que estés mandando eso a ejecutar en mYSQL, y no de esa forma, no podemso decirte si hay o no un error sin ver los datos que realmente tienes en la base.
Lo que si te puedo advertir es que recuerdes que el formato reconocido para fechas en las bases de datos es "YYYY-MM-DD", y la cadena contenida en la variable tiene que respetar eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 07/04/2013, 05:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: comparar fechas

gracias quimfv la solución era tan simple usando las comillas y el punto, gracias por la ayuda

Etiquetas: select, tabla
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:41.