Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/03/2011, 13:00
WinderJerter
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: borrar imagen despues de x tiempo

Cita:
Iniciado por masterpuppet Ver Mensaje
Que tal WinderJerter,

podrias traerte los registros pasados de tiempo directamente en la query en vez de traer todos los registros y comparar la fecha, tambien podrias guardar el id del registro borrado para tirar un where in en vez de una query para cada uno, algo asi:

Código PHP:
Ver original
  1. include_once("bd.php");
  2.  
  3. $query  = 'SELECT * '
  4.         . 'FROM images '
  5.         . 'WHERE NOW() > DATE_ADD(date,INTERVAL 1 HOUR) '
  6.         . 'AND status = 0';
  7.  
  8. $result = mysql_query($query);
  9.  
  10. $toDelete = array();
  11. while ($image = mysql_fetch_assoc($result)) {
  12.     $delete_link = array('http://', '.upload.com');
  13.     $str_link    = str_replace($delete_link, '', $image['location']);
  14.     $toDelete[]  = $image['id'];
  15.     unlink('servers/' . $str_link);
  16. }
  17.  
  18. if (count($toDelete)) {
  19.     $sql_del    = 'DELETE FROM images WHERE id IN(' . implode(',', $toDelete) . ')';
  20.     $result_del = mysql_query($sql_del);
  21. }

te sugiero tambien que tanto las tablas como los campos no los nombres con palabras reservadas ni tipos de datos, por ejemplo el campo date, te puede dar problemas.

Saludos.
Hola que tal masterpuppet, muchas gracias por responder, tu script funciona vien pero me he dado cuenta que solo borra la imagen del servidor pero no borra el registro de la base de datos, he trabado de solucionarlo pero no puedo.

A que se debe que no borra el registro???

Saludos!!!