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

Delete masivo cuando pase X minutos

Estas en el tema de Delete masivo cuando pase X minutos en el foro de Bases de Datos General en Foros del Web. Tengo una tabla (compra) donde tengo una serie de compras realizadas, las que aun estan pendiente de pago tienen en el campo 'estat' una p, ...
  #1 (permalink)  
Antiguo 23/08/2004, 11:14
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Delete masivo cuando pase X minutos

Tengo una tabla (compra) donde tengo una serie de compras realizadas, las que aun estan pendiente de pago tienen en el campo 'estat' una p, y las compradas una C, también tengo echo un campo donde guardo la fecha de compra en 'fecha' que es un campo datetime.

Como puedo hacer un script en php, que cuando hayan pasado 20 minutos de la fecha de compra me borre este registro?

Este script se colocara en la pagina principal donde me muestra las compras realizadas.
  #2 (permalink)  
Antiguo 23/08/2004, 13:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Bueno .. para saber que registro has de borrar tendrás que hacer una consulta SQL a tu tabla en cuestión bajo el criterio de que el campo "fecha"+20 minutos sea >= fecha actual (NOW()) o mejor dicho un "DELETE" con "Criterio" (WHERE) pero la condición será ese tratamiento de fechas.

Muevo tu mensaje al foro de Base de datos para que te orienten sobre la consulta SQL más apropiada para tal fin.

Un saludo,
  #3 (permalink)  
Antiguo 23/08/2004, 14:29
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
I como puedo hacer esa sentencia de fecha +20minutos?
  #4 (permalink)  
Antiguo 23/08/2004, 14:49
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Tengo empezado el where pero nose como terminar de poner esos 20minutos

WHERE ID='$actuacion' AND data+'los 20 minutos'>= NOW()
  #5 (permalink)  
Antiguo 25/08/2004, 07:45
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Please necesito que alguien me responda a esto nose como realizar esa suma!. Porfavor lo necesito con urgencia
  #6 (permalink)  
Antiguo 25/08/2004, 10:11
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola.., no soy experto en MySQL pero creo que te podrías apoyar de la funcion date_add para agregarle minutos a tu campo.

Te podría quedar así..

Ejemplo.

Cita:
...
AND DATE_ADD(data,INTERVAL 20 MINUTE) >= NOW()
Espero te funcione..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #7 (permalink)  
Antiguo 25/08/2004, 12:46
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
He puesto esta secuencia para determinar los que tienen el estado 'p' y que ya han pasado 20 minutos desde su creación...

SELECT * FROM compra WHERE ID_espectacle = '$actuacion' AND DATE_ADD(data,SELECT * FROM compra WHERE ID_espectacle = '$actuacion' AND DATE_ADD(data,INTERVAL 20 MINUTE) >= NOW() AND estat ='p'

Pero no me va! no me da ningún resultado
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 00:10.