Jag vill ta bort en annons efter 60 dagar. Jag använder mig av en MySQL-databas och datumformatet är 2000-11-02.
Låt oss anta att tabellen har två kolumner, id och datum. Hur gör jag?
<?
$datum="2000-10-02";
$old=strtotime(str_replace("-","/",$datum));
$today=strtotime(date("Y/m/d"));
if(($alder=floor(($today-$old)/86400))>60)
echo "Den skall tas bort nu!\n";
else
echo "All clear, den är bara $alder dagar gammal\n";
?>
<?
$res=mysql_query("SELECT * FROM tabell");
while($r=mysql_fetch_array($res),MYSQL_ASSOC) {
$datum=$r[datum];
$old=strtotime(str_replace("-","/",$datum)); $today=strtotime(date("Y/m/d"));
if(($alder=floor(($today-$old)/86400))>60)
mysql_query("DELETE FROM tabell WHERE id=$r[id]");
}
?>
Observera att den här koden kommer köras när nån är på sidan. Och det är alltså teknisk möjligt att en annons inte kommer tas bort om ingen visar sidan.
Mitt förslag är dock inte att du tar bort annonsen utan gör ett enumfält som är flagga om annonsen ska visas eller inte. Du vill väl veta hur många gånger annonsen visats och klickats på efter att den slutat gälla?
------------------
Fatal Error: Call to undefined function:
brain() in ./self.php on line 1