Je haalt aantal credits uit de database met de datum wanneer ze in gezet zijn.
Dan haal je de huidige datum op en ga je ze vergelijken...
Stel de vorgie datum is precies een week geleden.
Dan heb je een update query die aantal credits weer op 0 zet..
EDIT:
zoiets?
<?php
$sql = mysql_query("
SELECT
*
FROM
members
WHERE
datum = CURRENT_DATE - INTERVAL 7 DAY
AND
id = '".$_SESSION['member_id']."'
";
if($sql)
{
// Hier ga je dan updaten
}
else
{
// Hier is de query fout gegaan
}
?>
Daar gaan veel mensen dus de mist in. Jij maakt hier een variabel aan voor een query die je gaat controleren.
<?php
$sql = mysql_query("
SELECT
*
FROM
members
WHERE
datum = CURRENT_DATE - INTERVAL 7 DAY
AND
id = '".$_SESSION['member_id']."'
";
if($sql)
{
// Hier ga je dan updaten
}
else
{
// Hier is de query fout gegaan
}
?>
Ik doe het liever zo, scheelt geheugen:
<?php
if (mysql_query("SELECT * FROM members WHERE datum = CURRENT_DATE - INTERVAL 7 DAY AND id = ".$_SESSION['member_id'])) {
echo 'Goed!';
} else {
echo 'Fout!';
}
Je hoeft je code niet af te sluiten met ?> (hoewel ik dat zelf ook altijd doe, maar het is niet nodig). Het veld id is een integer neem ik aan en gaat daarom niet tussen quotes. En ja, zoals ik al zei: niet onnodig variabelen aanmaken, is zeer zonde van je geheugen.
De vraagstelling mag wel iets duidelijker, maar het is in ieder geval zeker dat je voor dit probleem geen cron jobs gebruikt. Zie ook de link die Karl gaf, het is nergens voor nodig aangezien je niets met de data doet als er niemand online is.
Aan de hand waarvan wordt de maand die hier als termijn genoemd wordt gemeten? Je zult er in ieder geval voor moeten zorgen dat je het referentie tijdstip (ie. toevoegen credits, laatst actief zijn) opslaat in de database. Als betreffende gebruiker vervolgens online komt, controleer je aan de hand van dat tijdstip of zijn credits nog geldig zijn en voer vervolgens de benodigde actie uit.
ps. @Hoithebest: wat betreft die query eerst in een variabele zetten, houd ook rekening met overzichtelijkheid van je code. Jouw manier wordt, zeker bij lange queries, snel onoverzichtelijk en dan weegt dat miniscule beetje geheugen dat je bespaart daar echt niet tegenop.
ps. @Hoithebest: wat betreft die query eerst in een variabele zetten, houd ook rekening met overzichtelijkheid van je code. Jouw manier wordt, zeker bij lange queries, snel onoverzichtelijk en dan weegt dat miniscule beetje geheugen dat je bespaart daar echt niet tegenop.
Indeed, met de huidige servers zal dat kleine beetje geheugen niet gek veel schelen. En ik verwacht niet dat de TS-er een site zo groot als google heeft draaien waarin de queries in de miljoenen lopen.....