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

Cargar fecha-hora en MySQL

Estas en el tema de Cargar fecha-hora en MySQL en el foro de Mysql en Foros del Web. Hola a tod@s, resulta que tengo una tabla 'events' que hace referencia a una tabla 'leagues' y esta hace referencia a 'sports'. Tengo una consulta ...
  #1 (permalink)  
Antiguo 30/07/2012, 14:55
 
Fecha de Ingreso: julio-2012
Ubicación: Bogotá
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Busqueda Cargar fecha-hora en MySQL

Hola a tod@s, resulta que tengo una tabla 'events' que hace referencia a una tabla 'leagues' y esta hace referencia a 'sports'.

Tengo una consulta realizada correctamente con PHP, en la tabla 'events' tengo el campo DATE, en el cual todos los registros están con el formato 'fecha-hora', ej: "2012-07-30 15:30:00" hasta ahi todo bien.

Lo que quiero es hacer una consulta que me traiga todos los eventos próximos (o los 10 próximos), osea, que superen el DATE actual.
Si ahora mismo el date es ''2012-07-30 15:30:00" entonces quiero que me traiga los eventos que estén desde el próximo minuto en adelante.

Como lo he hecho es:


Código PHP:
$fecha=date("Y-m-d H:i:s");

$rel1=mysql_query("SELECT events.id, events.name, events.date, events.result, events.active, events.league_id, leagues.id, leagues.active, leagues.order, leagues.sport_id, leagues.min_bet, leagues.max_bet FROM
    events INNER JOIN leagues ON events.league_id = leagues.id WHERE leagues.sport_id = "
.$row_tab1['id']." AND events.date > ".$fecha." order by events.date ASC limit 10 ",$link) or die (mysql_error()); 
Al verlo en vista me saca el siguiente error:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '20:40:56 order by events.date ASC limit 10' at line 2"

Se puede ver que el error que saca es cuando trata de tomar la hora, ya intenté con explode y todo pero siempre que hace referencia a la hora saca el error, puedo entender que el error puede ser por los dos puntos ":" que van incluidos en la hora.

Necesito urgente lograr esto, ya que no me trae lo que necesito, alguien sabe como hacerlo?

Agradezsco su colaboración!
  #2 (permalink)  
Antiguo 30/07/2012, 15:05
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Cargar fecha-hora en MySQL

Hola cristhmz6:

El manejo de las fechas es semejante a las cadenas, es decir, debes colocar la fecha entre comillas...

Código:
...
WHERE
    events.date > '2012-07-30 15:30:00'
...
También podrías utilizar la función NOW() para calcular la fecha y hora actual:

Código MySQL:
Ver original
  1. mysql> SELECT NOW();
  2. +---------------------+
  3. | NOW()               |
  4. +---------------------+
  5. | 2012-07-30 16:01:13 |
  6. +---------------------+
  7. 1 row in set (0.34 sec)

De tal manera que la condición te quede asi:

Código:
...
WHERE
  events.date > NOW()
...
Haz la prueba y nos comentas
  #3 (permalink)  
Antiguo 30/07/2012, 15:23
 
Fecha de Ingreso: julio-2012
Mensajes: 276
Antigüedad: 11 años, 8 meses
Puntos: 27
Respuesta: Cargar fecha-hora en MySQL

Para que salga las horas y los minutos NOW()
Solo la hora CURTIME()
Solo el dia CURDATE()
  #4 (permalink)  
Antiguo 31/07/2012, 13:53
 
Fecha de Ingreso: julio-2012
Ubicación: Bogotá
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Cargar fecha-hora en MySQL

Ohhh, tienes razón!
Pequeño gran error ¬¬!

Me colaboras mucho, muy buen dato.

Muchisimas, muchisimas GRACIAS!
;)


Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola cristhmz6:

El manejo de las fechas es semejante a las cadenas, es decir, debes colocar la fecha entre comillas...

Código:
...
WHERE
    events.date > '2012-07-30 15:30:00'
...
También podrías utilizar la función NOW() para calcular la fecha y hora actual:

Código MySQL:
Ver original
  1. mysql> SELECT NOW();
  2. +---------------------+
  3. | NOW()               |
  4. +---------------------+
  5. | 2012-07-30 16:01:13 |
  6. +---------------------+
  7. 1 row in set (0.34 sec)

De tal manera que la condición te quede asi:

Código:
...
WHERE
  events.date > NOW()
...
Haz la prueba y nos comentas

Etiquetas: fecha, puntos
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 07:00.