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

Insertar datos solo si es mayor al día de hoy

Estas en el tema de Insertar datos solo si es mayor al día de hoy en el foro de Mysql en Foros del Web. Mas o menos como lo puse el titulo, lo que quiero hacer es insertar datos tomando en cuenta el tiempo para que solo se suba ...
  #1 (permalink)  
Antiguo 26/04/2011, 22:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Insertar datos solo si es mayor al día de hoy

Mas o menos como lo puse el titulo, lo que quiero hacer es insertar datos tomando en cuenta el tiempo para que solo se suba informacion del dia de hoy para arriba.

Lo que trate de hacer fue esto:

Código PHP:
mysql_query("REPLACE INTO tabla 
        (id, name, start_time, location, city) VALUES('$eid','$name','$time','$location', '$city') WHERE DATE(start_time) >= NOW() "

Pero no me funciono, al parecer porque el REPLACE no soporta el WHERE, así que estoy algo perdido, ojala alguien sepa de alguna solución. Muchas gracias de antemano :)
  #2 (permalink)  
Antiguo 27/04/2011, 01:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Insertar datos solo si es mayor al día de hoy

Reemplaza REPLACE INTO por UPDATE

todos los registros con fecha igual o superior a ahora (dia y hora) tendran el mismo valor...

Si usas DATE(NOW()) seran todos los que tengan fecha (dia) igual o superior a hoy...


NOW()= '2011-04-27 09:057:00'
DATE(NOW())='2011-04-27'
...
DATE(start_time)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 27/04/2011, 11:55
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar datos solo si es mayor al día de hoy

No entendí muy bien eso del mismo valor, pero creo que no me sirve, me da un error en la syntax.

Código PHP:
mysql_query("UPDATE tabla 
        (id, name, start_time, location, city) VALUES('$eid','$name','$time','$location', '$city') WHERE DATE(start_time) >= DATE(NOW())"


Última edición por Kronox; 27/04/2011 a las 12:19
  #4 (permalink)  
Antiguo 27/04/2011, 12:22
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: Insertar datos solo si es mayor al día de hoy

Porque la sintaxis de UPDATE no es igual a la de INSERT, en cambio REPLACE tiene las dos formas:
Código MySQL:
Ver original
  1. UPDATE eventos
  2.     SET id = '$eid',
  3.     name = '$name',
  4.     start_time =  '$time',
  5.     location =   '$location',
  6.     city =  '$city'
  7.     DATE(start_time) >= DATE(NOW())
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 27/04/2011 a las 13:20
  #5 (permalink)  
Antiguo 27/04/2011, 13:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar datos solo si es mayor al día de hoy

Me esta tirando este error en la syntax:

Código PHP:
        mysql_query("UPDATE eventos 
                    SET id = '$eid',
                        name = '$name',
                        start_time =  '$time',
                        location =   '$location',
                        city =  '$city'
                    WHERE DATE(start_time) >= DATE(NOW()"
)
        or die(
mysql_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 '' at line 7

Lo he estado repasando, pero nada...
  #6 (permalink)  
Antiguo 27/04/2011, 13:20
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: Insertar datos solo si es mayor al día de hoy

La función DATE() no está cerrada:
Código MySQL:
Ver original
  1. UPDATE eventos
  2.     SET id = '$eid',
  3.     name = '$name',
  4.     start_time =  '$time',
  5.     location =   '$location',
  6.     city =  '$city'
  7.     DATE(start_time) >= DATE(NOW())
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 27/04/2011, 13:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar datos solo si es mayor al día de hoy

Odio que pase eso... jaja gracias!

Etiquetas: mayor
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 16:17.