Felhasznalo torlese bizonyos ido utan
Egy mySQL adatbazisba taplalok be adatokat PHP segitsegevel.
A tablaban van egy olyan oszlop amelynek a neve date_entered.
Amikor egy user regisztralodik az oldalon a date entered oszlopban megjelenik mikor regisztralodot.
pl.
2006-07-06 07:25:49
A NOW() fugvenyt hasznalom amikor beviszem az adatot mysql INSERT-el. A NOW megjeleniti a datumot es az idot, ahogy fent latszik.
Szeretnem azokat a felhasznalok kitorolni az adatbazisbol amelyek regisztracio utan nem aktivaltak a usernevet.
A kovetkezo parancsot hasznalom :A problema az, hogy a time() unix stilus szerint jeleniti meg a datumot es az idot, pl amikor eppen mysql-ben 2006-07-06 07:25:49 akkor unix idoben
1152187145
Mi a velemenyetek errol ? Ha az idok nem paszolnak akkor a usert nem torolhetem :(
■ A tablaban van egy olyan oszlop amelynek a neve date_entered.
Amikor egy user regisztralodik az oldalon a date entered oszlopban megjelenik mikor regisztralodot.
pl.
2006-07-06 07:25:49
A NOW() fugvenyt hasznalom amikor beviszem az adatot mysql INSERT-el. A NOW megjeleniti a datumot es az idot, ahogy fent latszik.
Szeretnem azokat a felhasznalok kitorolni az adatbazisbol amelyek regisztracio utan nem aktivaltak a usernevet.
A kovetkezo parancsot hasznalom :
mysql_query("DELETE FROM register WHERE date_entered < '". (time() - $checktime) ."' AND activate != 0");
1152187145
Mi a velemenyetek errol ? Ha az idok nem paszolnak akkor a usert nem torolhetem :(
bízd a mysql-re
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#id2810054
ha mindent a mysql csinál, nincsenek formátumproblémák.
ok
Van egy mySQL tablam amelyben szerepel egy date_entered oszlop:
date_entered DATETIME NOT NULL;
Amikor bekuldom az adatot az oszlopban a NOW()-t hasznalom:
INSERT (date_entered) VALUES (NOW());
Ha elohivom a tartalmat :
mysql> SELECT date_entered FROM register;
+---------------------+
| date_entered |
+---------------------+
| 2006-07-06 08:44:27 |
+---------------------+
1 row in set (0.13 sec)
Ez az datum meg az ido nem valtozik meg.
Most szeretnek PHP-bol egy query-t adni MYSQL-nek es megmondani, hogy 30 nap utan torolje ezt a mezot.
En valami ilyesmire gondoltam amit lefutatok naponta cron-ban:
$checktime 3600;
mysql_query("DELETE FROM register WHERE date_entered < '". (time() - $checktime) ."' AND activate != 0");
Nem tudom ha jol hasznalom a time() fugvenyt es milyen erteket kene megadjak a $checktime valtozonak.
Kerlek ha tudnal segiteni nagyon halas lennek.
Kosznom!
megoldás az #1-es bejegyzésben...
A mysql dátumkezelő függvényeivel meddig jutottál?
akkor többet segítek
... WHERE date_entered < SUBTIME(NOW(),'1 1:0:0.0')
ennél többet nem tudok mondani, de tényleg jó lenne, ha elolvasnád a hivatkozott doksit.
jó munkát,
Tasi