03. januar 2005 - 11:19Der er
14 kommentarer og 1 løsning
Trække 4 dage fra tid i tabel
goddag
Jeg har en tabel med mine brugere i, brugerne skal aktivere deres profil før de kan logge ind.
Der er en oprettelses dato ved hver bruger. Måden jeg er på om deres konto er aktiv, er ved 2 felter i tabellen. Indeholder de 2 felter ikke det samme er profilen ikke aktiv.
Nu til spørgsmålet: Hvis en bruger ikke har aktiveret deres profil indefor 7 dage skal den slettes automatisk. Hvordan kan det gøres?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Ja, du skal naturligvis tilpasse den query, eftersom du ikke gav os nogle detaljer :P
DELETE FROM brugertabel WHERE det_ene_felt_der_skal_matche_det_andet <> det_andet_felt_der_skal_matche_det_første AND DATE_SUB( NOW(), INTERVAL 7 DAYS ) > brugerens_oprettelsesdato
På den anden side, giver det ikke så meget mening, signup_date <> last_login skal nok være noget andet - altså de to felter der skal være ens hvis brugeren er aktiv!
bah, tror jeg har fattet det nu. Den kan sagtens se således ud ik? $sql = "DELETE FROM users WHERE akt_kode <> kode AND DATE_SUB( NOW(), INTERVAL 7 DAYS ) > signup_date" mysql_query($sql) or die(mysql_error());
nej nej, det er deres aktiveringskode der skal være forskellig. Altså det ene felt vil formentlig være tomt.
Det er altid en god idé at teste sine DELETEs hvis man bare er LIDT i tvivl! Det gøres nemt ved at erstatte "DELETE FROM" med "SELECT * FROM" og resten bare det samme :)
Men den siger sq godt nok jeg har en synta fejl. $sql = "DELETE FROM users WHERE akt_kode <> kode AND DATE_SUB( NOW(), INTERVAL 7 DAYS ) > signup_date"; mysql_query($sql) or die(mysql_error());
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DAYS ) > signup_date' at line 1
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.