Foros del Web » Programando para Internet » PHP »

borrar un usuario que no activado su cuenta

Estas en el tema de borrar un usuario que no activado su cuenta en el foro de PHP en Foros del Web. llevo bastante intentandolo y mi cabeza no llega a como hacerlo. tengo esta tabla llamada USUARIOS en la base de datos --------------------------------------- | id | ...
  #1 (permalink)  
Antiguo 03/04/2011, 05:35
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 15 años, 4 meses
Puntos: 4
borrar un usuario que no activado su cuenta

llevo bastante intentandolo y mi cabeza no llega a como hacerlo.

tengo esta tabla llamada USUARIOS en la base de datos
---------------------------------------
| id | username | password | fecha | estado |
| 1 | user1 | qjwdnqw | 2011-03-29 | 0 |
| 2 | user2 | qjwdnqw | 2011-04-01 | 1 |
| 3 | user3 | qjwdnqw | 2011-04-03 | 1 |
| 4 | user4 | qjwdnqw | 2011-04-01 | 1 |
---------------------------------------

si estado=0 el usuario tiene la cuenta activada. si estado=1 el usuario aun no ha activado la cuenta.

con la orden siguiente borro todos los usuarios que no tiene su cuenta activada

DELETE FROM usuarios WHERE estado='1'"

pero necesito que solo me borre los que haya superado una fecha limite por ejemplo 2 dias.

la orden la colocare cuando se registre un usuario...asi mantengo un equilibrio en usuarios registrados y usuarios que nunca se registran y deja basura en la DB.

he probrando metiendo el dia actual en una variable. $fec_actual = date("y-m-d");
fecha_user = $row['fecha']
if($fecha_user < $fec_act ){¿?¿?}
pero eso seria para un usuario no para todos de la tabla... ademas que tendria que sumarle los dos dias a la variable ..
creo que es mcuho mas complejo que ni me lo imagino.


la solucion es borrarme solo el user 2 y 4. el user 3 me lo mantiene porque aun esta dentro del limite de tiempo. y user 1 no se toca ya que esta activado.

Gracias de antemano. Un saludo
  #2 (permalink)  
Antiguo 04/04/2011, 01:41
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: borrar un usuario que no activado su cuenta

bueno ya que nadie ayuda...pongo el codigo yo msimo por si a alguien le interesa.
No lo he conseguido hacer en php..se como sumar dias a DATE pero lo que queria era sumarle un dia a la fecha que ya esta guardada en la base de datos.

el codigo que me ha funcionado es hacer un query directamente a base de datos para comparar con la fecha actual y si es mayor la fecha actual hacer un loop que me vaya borrando los usuarios con un query delete pero creo que este opcion es mucho mejor ya que es un codigo mas corto.


Código:
DELETE FROM usuarios WHERE estado= '1' AND fecha < DATE_SUB(NOW(), INTERVAL 24 HOUR)
por aprender estaria bien que alguien ponga la equivalencia en php.

Un saludo.
  #3 (permalink)  
Antiguo 04/04/2011, 01:45
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: borrar un usuario que no activado su cuenta

con las prisas he escrito mal lo anterior queria decir esto:
No lo he conseguido hacer en php..se como sumar dias a DATE pero lo que queria era sumarle un dia a la fecha que ya esta guardada en la base de datos comparar con la fecha actual y si es mayor la fecha actual hacer un loop que me vaya borrando los usuarios con un query delete pero creo que este opcion es mucho mejor ya que es un codigo mas corto.

el codigo que me ha funcionado es hacer un query directamente a base de datos.

DELETE FROM usuarios WHERE estado= '1' AND fecha < DATE_SUB(NOW(), INTERVAL 24 HOUR)

por aprender estaria bien que alguien ponga la equivalencia en php.

Un saludo.
  #4 (permalink)  
Antiguo 04/04/2011, 01:57
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 19 años, 7 meses
Puntos: 11
Respuesta: borrar un usuario que no activado su cuenta

Es que el php no puede borrar registros, pero sí puede ejecutar sqls como la que has hecho tu.

Metes esa consulta en una función, y que se ejecute cada vez que alguien entre en la página, entonces hará la comprobación y el borrado automático.
__________________
www.serra-project.es
  #5 (permalink)  
Antiguo 04/04/2011, 02:12
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: borrar un usuario que no activado su cuenta

gracias por responder chenon. Esa teoria la se...lo que puse antes es que no conseguia hacer la funcion de sumar un dia a la variable que me guarda la fecha de registro del usuario en la base de datos para luego hacer la comparacion con un if .

Un saludo.

Etiquetas: borrar, usuarios
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 14:11.