Foros del Web » Programando para Internet » PHP »

Sentencia SQL

Estas en el tema de Sentencia SQL en el foro de PHP en Foros del Web. Hola amigos.... Necesito generar una consulta en sql para eliminar de una tabla de MySQL todos los registros en los cuales la fecha (campo DATE) ...
  #1 (permalink)  
Antiguo 07/08/2003, 21:21
Avatar de pabloazorin  
Fecha de Ingreso: junio-2003
Ubicación: Pilar, Buenos Aires.
Mensajes: 41
Antigüedad: 14 años, 5 meses
Puntos: 1
Sentencia SQL

Hola amigos....
Necesito generar una consulta en sql para eliminar de una tabla de MySQL todos los registros en los cuales la fecha (campo DATE) sea menor a un dia, tomando en cuenta hoy....
Osea, lo que necesito es borrar todos los registros que hace mas de un dia que estan cargados. Los registros tienen un campo llamado DATE donde se guarda la fecha de cada uno.
La funcion que uso para guardar la fecha es de tipo:

mktime(0,0,0,date("m"),date("d"),date("Y"));

Se entendio lo que necesito?
Cualquier duda me avisan!
Gracias
PABLO
__________________
Pablo S. Azorin
[email protected]
  #2 (permalink)  
Antiguo 07/08/2003, 21:33
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
A ver...

En el campo llamado DATE guardas el resultado de

mktime(0,0,0,date("m"),date("d"),date("Y"));


???

Entendí bien?
__________________
Manoloweb
  #3 (permalink)  
Antiguo 07/08/2003, 21:35
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
Código PHP:
$fecha_visita date("Y-m-d H:i:s", (time()-86400));

mysql_query("DELETE FROM $sql_tbl_visitas WHERE tid < '$fecha_visita'") or die($Err01); 
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 07/08/2003, 21:35
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Ademas... quieres que se borren TODOS los que NO son de HOY??
__________________
Manoloweb
  #5 (permalink)  
Antiguo 07/08/2003, 21:47
Avatar de pabloazorin  
Fecha de Ingreso: junio-2003
Ubicación: Pilar, Buenos Aires.
Mensajes: 41
Antigüedad: 14 años, 5 meses
Puntos: 1
Asi es...... Necesito que se borren todos los registros que no sean del dia de hoy.......
Porque lo preguntas Manoloweb? Alguna recomendacion en especial?
__________________
Pablo S. Azorin
[email protected]
  #6 (permalink)  
Antiguo 07/08/2003, 21:50
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
no te vale mi ejemplo.... es el que uso yo.... si la fecha almacenada es anterior a la de hoy.,... borra todos los registros que cumplan un requisito.... en este caso es la fecha
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 07/08/2003, 21:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Bueno, es que me llama la atención la forma en la que lo estas solucionando...

que pasa si alguien postea a las 11:00 p.m.?? solo durará una hora ese registro???

Bueno, me estoy metiendo en lo que no me incumbe...

$fecha_borra=mktime(0,0,0,date("m"),date("d")-1,date("Y"));

delete from taltabla where DATE<=$fecha_borra



__________________
Manoloweb
  #8 (permalink)  
Antiguo 07/08/2003, 21:58
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
no manolo, yo te entiendo, mi ejemplo no es del todo explicativo... lo que compara es la fecha de hoy con año,mes,dia hora,minutos,seundos y la compara con la almacenada, que tambien es asi, en un registro DATETIME, entonces ese error que me comentas no existe... jejeje, gracias por preocuparte, no es una intromision, me gusta que opines, tu y los demas, ya que en muchas ocasiones estare equivocado... denuevo manolo gracias. ;)


ups no me lo decias a mi... bueno... cabe de explicacion para este post... ya que lo he dicho yo...jajaja, que me lio.

el royo es usar el campo del registro en mysql DATETIME, asi nos aseguramos que la fecha sea exacta a la que queremos.
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 07/08/2003 a las 22:00
  #9 (permalink)  
Antiguo 07/08/2003, 21:59
Avatar de pabloazorin  
Fecha de Ingreso: junio-2003
Ubicación: Pilar, Buenos Aires.
Mensajes: 41
Antigüedad: 14 años, 5 meses
Puntos: 1
Si manoloweb...tienes razonn....es muy correcto lo que decis....
Lo que tengo es un carro de compras muy simple que va acumulando los productos en una tabla identificados con un numero de sesion y despues todos los productos con su correspondiente fecha. Lo que necesito es que si paso mas de 2 horas de la compra que se borren todos los registros....se entiende?
Saludos
PABLO
__________________
Pablo S. Azorin
[email protected]
  #10 (permalink)  
Antiguo 07/08/2003, 22:27
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Bueno... entonces puedes hacer lo mismo que estas haciendo, pero incluye la hora al generar el mktime...

mktime(date("H"),date("i"),date("s"),date("m"),dat e("d"),date("Y"));

Y cuando vas a borrar...

mktime(date("H")-2,date("i"),date("s"),date("m"),date("d"),date("Y" ));


__________________
Manoloweb
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 13:39.