Automatisk avaktivering efter 30 dagar?

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1

Tjosan,

håller på med en liten grej i PHP & MySQL och skulle behöva veta hur man kan ställa in en tidsbegränsning på saker. T.ex. som blocket har, att en annons ligger uppe i exakt 30 dagar, sedan tas den bort automatiskt. Hur tas den bort automatiskt? Det är väl något script som körs varje natt och kollar vilka annonser som är gamla, men hur kan man köra ett script automatiskt på en Apache webbserver? Någon som vet?

Mvh
Johan

  • Medlem
  • Göteborg
  • 2005-11-05 11:51

ett sätt att köra script automatiskt är att använda crontab. Men det beror på servern du använder om du har tillgång till det.

Här kan du läsa mer:
http://www.adminschoice.com/docs/crontab.htm

Enklast är det om man man sätter ett kriterium i sql-satsen som hämtar annonserna så att den bara hämtar annonser som publicerats de senaste 30 dagarna, d.v.s. något i stil med följande:

select * from ads
where date_sub(curdate(), interval 30 day) <= ads.created_at
order by ads.created_at desc;

Sedan kan man göra motsvarande fast med en delete-sats i stället för en select-sats, samt med where-kriteriet negerat, och köra det varje natt så raderas alla gamla annonser. Men egentligen är det inget större problem rent utrymmes- och prestandamässigt att ha kvar dem, det är ju inga enorma datamängder det rör sig om direkt...

Hah! Smart, varför tänkte jag inte på det?!
Tack Samuel

1
Bevaka tråden