Jeg kan lige forklare det hurtigt, men en god idé er, hvis du lærer php.net-stedet at kende, for der kommer du ofte til at søge efter dokumentation :-)
http://dk.php.net/time:Det er en funktion, der returnerer antallet af sekunder siden Unix Epoch 1/1-1970 00:00:00 og til nu.
http://dk.php.net/mktimeMed denne funktion kan du udfra et tidspunkt (dato og tid) generere et timestamp (dvs. antallet af sekunder siden Unix Epoch og til det givne tidspunkt).
Eksempel ved betaling:
@mysql_query("UPDATE users SET lastPaymentTime=" . time() . " WHERE id = 1");
Og hvor du så tjekker om brugeren har betalt, bruger du fx:
@mysql_query("SELECT lastPaymentTime FROM users WHERE id=1");
Så kan du enten tjekke feltet der, eller du kan gøre det i queryen (for efterfølgende at tjekke antallet af returnerede rækker) - her tjekkes om der er betalt indenfor de seneste 30 dage:
$query = @mysql_query("SELECT lastPaymentTime FROM users WHERE id=1 AND lastPaymentTime > " . (time() - (60 * 60 * 24 * 30)));
if (@mysql_num_rows($query) > 0)
{
// brugeren har betalt inden for de seneste 30 dage
}
else
{
// brugeren har IKKE betalt inden for de seneste 30 dage
}
Der findes også tidsfunktioner i MySQL, men jeg gør det her med PHPs egen for nemhedens skyld - og det kan du også sagtens gøre i dit script.
Du behøves ikke bruge mktime medmindre du, så at sige, vil simulere tidspunkter.
mikl-dk | udv@mikl.dk