bericht na aantal dagen verwijderen
ik heb een site gemaakt waar ze een tabel nieuws hebben. je kunt handmatig de berichten verwijderen. alleen dat doet niet iedereen. de database is nu zo vol aan het raden met veel berichten er in. heeft iemand een stukje code hoe je een bericht na een aantal maanden automatisch kunt laten verwijderen. want mij wilt het niet lukken.
vast bedankt,
mvg,
edwin
Met Cron Jobs. Biedt die host je dat aan?
wat zijn cron jobs percies dan. want daar heb ik nog niet van gehoord ?
en zou je me misschien er iets meer over kunnen vertellen????
gr
edwin
je kan toch ook een datum aan de gestuurde berichten meegeven
dan rekensommetje maken en kijken of bericht ouder is dan een maand....Delete.
edit
Anders kan je ook nog het geval krijgen dat mensen een bericht krijgen en 5 minuten later is ie weg omdat je via cronjobs de database heb laten wissen :P
Gewijzigd op 04/01/2006 11:14:00 door Erik Rijk
DELETE FROM berichten
WHERE DATEDIFF(datumbericht, NOW()) < jouw waarde
Maar beide oplossingen zijn niet automatisch ^^
Je kan via mysql toch het verschil bekijken met de code van Jan.
Is dat verschil groter dan kan je toch automatisch een delete query laten draaien?
of zie ik dit verkeerd?
moet dat je maakt bij een nieuwstoevoegpagina gewoon een stukje bij dus wanneer je nieuws toevoegt dan verwijdert het het andere nieuws van bv ouder dan 1 maand..
Nee maar als de DB al zo vol zit komt er blijkbaar wel eens iemand op zijn site.
En je kunt Jan zijn SLQ desnoods op de index.php zetten
Jan:
Of anders gewoon via MySQL als iemand zijn pagina met berichten laadt.
DELETE FROM berichten
WHERE DATEDIFF(datumbericht, NOW()) < jouw waarde
DELETE FROM berichten
WHERE DATEDIFF(datumbericht, NOW()) < jouw waarde
Moet dat niet > zijn?
Volgens mij gooi je met > groter dan de nieuwste berichten weg :)
Klaasjan:
@Sebastiaan:
Nee maar als de DB al zo vol zit komt er blijkbaar wel eens iemand op zijn site.
En je kunt Jan zijn SLQ desnoods op de index.php zetten
Nee maar als de DB al zo vol zit komt er blijkbaar wel eens iemand op zijn site.
En je kunt Jan zijn SLQ desnoods op de index.php zetten
Kijk, dit is een goed antwoord. Cronjobs zijn totaal overbodig bij php.
Het probleem zat eerder zijn dat je onvoldoende schijfruimte hebt...
Klaasjan:
@ San The
Volgens mij gooi je met > groter dan de nieuwste berichten weg :)
Volgens mij gooi je met > groter dan de nieuwste berichten weg :)
Volgens mij juist niet.
Als diff=10 min en termijn is 1 maand dan krijg je toch
DELETE ..... WHERE 10 min > 1 maand
en dan wordt ie niet weggegooid.
Ik zat ook al te denken toen je dat zei Klaasjan maar volgens mij heeft Santhe gelijk hoor :)
Volgens mij heb ik Jan zijn Query niet goed gelezen idd
is weet wel dat een database super groot kan worden. maar je wilt toch wel een beetje overzicht houden en geen kilometer was lijst aan berichtjes denk ik zo dan.
maar ik ga in idd geval wel met de tips die hier boven gegevens zijn aan de slag.
vast bedankt
Waarom wil JIJ het overzicht houden? Dat kan je database i.c.m. je PHP-script toch voor je doen? Met een juiste WHERE-clausule kun je alle berichten van de afgelopen x dagen ophalen. Dat er dan nog een meer (lees: oudere) berichten zijn, daar zie je niets van.