Foros del Web » Programando para Internet » PHP »

Eliminar registro tras x tiempo sin votos

Estas en el tema de Eliminar registro tras x tiempo sin votos en el foro de PHP en Foros del Web. ¡Hola! Tengo una web de chistes que pueden ser votados.... El caso es que como siempre, hay gente que solo quiere "molestar" y manda cosas ...
  #1 (permalink)  
Antiguo 16/05/2009, 06:07
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Eliminar registro tras x tiempo sin votos

¡Hola!

Tengo una web de chistes que pueden ser votados....

El caso es que como siempre, hay gente que solo quiere "molestar" y manda cosas que ni suiquiera son chistes.

tengo un captcha, pero eso no evita este tipo de envíos.

Actualmente se pueden votar los chistes y todo, pero no sé cómo haría para borrar aquellos registros (chistes) que llevan 40 dias con una votación inferior a 20...

Una vez superan los 20 puntos, es señal de que son medio buenos.

¿Cómo lo haría?.

Saludos y espero que me haya explicado

Última edición por Usa_Firefox; 16/05/2009 a las 06:52
  #2 (permalink)  
Antiguo 16/05/2009, 06:41
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 3 meses
Puntos: 43
De acuerdo Respuesta: Eliminar registro tras x tiempo sin votos

Buenas,

Yo por mi parte lo haria de la sig forma:

Pondria un campo en la tabla chiste donde guardaria la fecha del ultimo voto que se hizo de ese chiste, y haria una consulta con pondria los criterios que debe cumplir para eliminarlo.

Saludos
  #3 (permalink)  
Antiguo 16/05/2009, 06:52
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Eliminar registro tras x tiempo sin votos

Gracias por la respuesta....

Mira, yo tengo esto...

CHISTES

-nombre,descripcion...bla,bla,bla... y tengo:

-fecha de envio y puntos

Me pregunto.... ¿cómo hago la consulta que me diga esto?

>>Borrar chistes donde puntos sea menor de 20 y fecha de envío sea menor o igual a 40 dias antes

¿Me entienden?
  #4 (permalink)  
Antiguo 16/05/2009, 07:08
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Eliminar registro tras x tiempo sin votos

En primer lugar deberias obtener la fecha de hoy y restarle 40 dias. Para eso utiliza la función date de php y esta función (resta_fechas) para la resta de los dias que deseas, en este caso 40.

Código PHP:
  function resta_fechas($fecha$ndias)
  {
         
$ano substr($fecha04);
        
$mes substr($fecha42);
        
$dia substr($fecha62);
    
          
$nueva mktime(000$mes$dia$ano) - $ndias 24 60 60;
      
      
$nuevafecha date('Ymd'$nueva);
      
      return(
$nuevafecha);
  } 

Código PHP:
$Fecha_40 resta_fechas(date(Ymd), 40); 

Con esta consulta veras esos chistes que deseas elminiar, puedes hacer que solo se muestren los chistes que no cumplen esa condición o eliminarlos directamente.. yo en tu panel de admin haria un apartado de chistes descartados..
Código PHP:
$consulta =  SELECT FROM 'chistes' WHERE puntos 20 AND FECHA_ENVIO <= $Fecha_40
Espero haberte ayudadooo un saludooo!!
  #5 (permalink)  
Antiguo 16/05/2009, 07:21
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Eliminar registro tras x tiempo sin votos

Wow!

Muchas gracias por tu tiempo de veras....

te has ganado un buen Karma XD

Saludos!

Edito: Por cierto.... No tengo panel de admin.. pero muy buena la idea. Me pondré a ello:

Así veo los chistes descartados y si van bien, los vuelvo a poner en su sitio. Si van mal, un simple click y fuera.

Gracias de nuevo!
  #6 (permalink)  
Antiguo 16/05/2009, 07:36
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Eliminar registro tras x tiempo sin votos

Jajaja de nadaa!! , si lo del panel de admin te hiria muy bien, para la gestión de los chistes, un saludoo gracias por el karma xD !!
  #7 (permalink)  
Antiguo 16/05/2009, 07:38
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 3 meses
Puntos: 43
De acuerdo Respuesta: Eliminar registro tras x tiempo sin votos

Buenas,

Seria de esta forma:

Código PHP:
Delete From chistes Where  puntos 20 and DATEDIFF(now(),`fecha_insert`)=40 
Saludos
  #8 (permalink)  
Antiguo 16/05/2009, 07:42
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Eliminar registro tras x tiempo sin votos

Una duda.. la función DateDiff sirve si el campo de la base de datos no está en formato fecha, si no como integer de 9 caracteres? ( 20090516 ) gracias! y otra cosa más, en esa consulta solo saldrian los registros que tiene 40 dias de antiguedad.. y los de 41 ? 42 etc?

Última edición por miktrv; 16/05/2009 a las 07:49
  #9 (permalink)  
Antiguo 16/05/2009, 08:34
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Eliminar registro tras x tiempo sin votos

Bueno... ahora no me aclaro

Saludos!
  #10 (permalink)  
Antiguo 16/05/2009, 12:05
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 3 meses
Puntos: 43
De acuerdo Respuesta: Eliminar registro tras x tiempo sin votos

Buenas,

miktrv Tendria que estar en formato fecha,

Y sobre: "otra cosa más, en esa consulta solo saldrian los registros que tiene 40 dias de antiguedad.. y los de 41 ? 42 etc? "
es verdad pero mira esta:

Código PHP:
Delete From chistes Where  puntos 20 and DATEDIFFnow( ) , `fecha_insert` ) >=40 
Saludos
__________________
"No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo."
"El problema no es no saber, sino no saber quién sabe"
..::Con Karma se piensa mejor::..
  #11 (permalink)  
Antiguo 17/05/2009, 04:35
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Eliminar registro tras x tiempo sin votos

Gracias a los dos...

Uno por la idea del panel y por su tiempo... pero me gusta más la consulta de rodno, ya que es mcho más ligera...

Solo una duda.

Para hacerlo más exacto, donde está fecha insert... puedo poner el campo DATETIME que contiene el momento justo de envío?

Saludos!
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 09:53.