webForumDet fria alternativet

Ta bort automatisk ..

ASP

10 svar · 474 visningar · startad av Tik

Medlem sedan juli 2002108 inlägg
Frågan#1

..från databasen ?

Hej!

Jag vill ha gör möjligt att annonserna tas bort automatisk från databasen efter tex en månad ? Hur fixar man det ? Använder access 2000.

Medlem sedan juni 20034 013 inlägg
#2

Det förutsätter att du har en kolumn som lagrar vilket datum annonsen las in. Sedan skapar du ett skript som kör en SQL-query som tar bort allt som har ett datum äldre än 30 dagar och lägger upp den som "schemalagd aktivitet" (har för mig cron heter så i Windows).

SQL-queryn blir:
DELETE FROM tabellen WHERE din_datumkolumn < #datum#

där du då räknar fram "datum" utifrån dagens datum med asp. Jag jobbar mest i php, men jag har för mig det finns en funktion i asp som heter DateAdd med vars hjälp du kan få fram datumet för ett visst antal dagar sen.

Medlem sedan juni 20019 519 inlägg
#3
dim datum
datum = dateadd("d",now(),now()+30)

tror jag :e

Medlem sedan aug. 2002733 inlägg
#4

något sådant?

SQL = "DELETE * FROM annonser WHERE datum > #date()+30#"
Medlem sedan juni 200032 967 inlägg
#5

Re: Ta bort automatisk ..

Tik skrev:

..från databasen ?

Till att börja med söker man, då det varit uppe ett antal gånger på wF.

Medlem sedan juni 20034 013 inlägg
#6

> DELETE * FROM annonser WHERE datum > #date()+30#

Nja, det borde väl vara:
DELETE FROM annonser WHERE datum < #date()-30#

Han ville ju ta bort annonser som var äldre än 30 dagar.

Förutsatt då att det finns en funktion i Access som heter date och man kan använda den på det sättet.

Medlem sedan apr. 20032 072 inlägg
#7

går detta att använda om man gör en tabell med tiden då den sparades och sedan kör på asp's kodexempel fast kolumnnamnet på tid och så antal timmar?
Sedan ska det vara - istället för +?
//Coccozz

Medlem sedan maj 200010 687 inlägg
#8

Sen så kanske man skulle byta operator till <... :)

Medlem sedan maj 2003176 inlägg
#9

eftersom jag vill också ha den funktion, undrar jag var någonstans ska man lägga in koden:
På sidan där annonserna visas dvs där man söker dem eller ?

SQL = "DELETE * FROM annonser WHERE datum > #date()-30#"

Medlem sedan maj 2003176 inlägg
#10

SQL = "DELETE * FROM annonser WHERE datum > #date()-30#"

Är ni säkra att det är rätt kod?

Medlem sedan dec. 200012 464 inlägg
#11

Nej, det är det inte

SQL = "DELETE FROM annonser WHERE datum < date()-30"
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)