Avatar billede macho Praktikant
09. august 2001 - 18:44 Der er 7 kommentarer og
2 løsninger

Slette en post efter en uge, 14 dage eller et år!

Jeg arbejder på at lave et forum i ASP med tilhørende Access-database. I formularen til at poste meddelelser, vil jeg gerne kunne indsætte en \"radio\"-knap hvor forfatteren får mulighed for at posten skal slettes efter én uge, 14 dage, en måned eller et år. Default skal være et år! Det burde være muligt, meeeeeeeen..... Hvordan???
Avatar billede slash Nybegynder
09. august 2001 - 19:09 #1
<INPUT type=\"radio\" id=radio1 name=radio1>1 uge<br>
<INPUT type=\"radio\" id=radio1 name=radio1>2 uger<br>
<INPUT type=\"radio\" id=radio1 name=radio1>1 måned<br>
<INPUT type=\"radio\" id=radio1 name=radio1 checked>1 år<br>
Avatar billede slash Nybegynder
09. august 2001 - 19:13 #2
en lidt mere udbygget ting:

<%@ Language=VBScript %>
<%
select case (Request.Form(\"radio1\"))
case \"uge\" Response.Write \" 1uge\"
case \"2uger\" Response.Write \"2 uger\"
case \"maaned\" Response.Write \"1 måned\"
case \"aar\" Response.Write \"1 år\"
case else Response.Write \"intet valgt\"
end select
%>
<HTML>
<HEAD>
<META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\">
</HEAD>
<BODY>
<form action=test.asp method=post>
<INPUT type=\"radio\" id=radio1 name=radio1 value=\"uge\">1 uge<br>
<INPUT type=\"radio\" id=radio1 name=radio1 value=\"2uger\">2 uger<br>
<INPUT type=\"radio\" id=radio1 name=radio1 value=\"maaned\">1 måned<br>
<INPUT type=\"radio\" id=radio1 name=radio1 checked value=\"aar\">1 år<br>
<INPUT type=\"submit\" value=\"Submit\" id=submit1 name=submit1>
</form>

</BODY>
</HTML>
Avatar billede slash Nybegynder
09. august 2001 - 19:22 #3
for at slette posten automatisk ville jeg lave en stored procedure (hvis man ka\' det i access?? kan ik huske det!), som løber tabel igennem dagligt for at se om aktueldato = sletpostdati!
Avatar billede macho Praktikant
09. august 2001 - 19:36 #4
Det her duer ikke! Den skal udbygges mere, med defination af dato for sletning af posten!
Avatar billede slash Nybegynder
09. august 2001 - 19:57 #5
konkretiser venligst :-)
Avatar billede burningice Nybegynder
09. august 2001 - 21:05 #6
ok... når personen har valgt en dato skal du til at starte med lave en dateadd på den for at finde ud af hvilken dato posten rent faktisk skal slettes.

eksempel:
dato = requst.form(\"dato\")
dato = dateadd(dd, dato, date())

her skal dato være antal dage, altså en uge = 7 dage

Når det er gjort sætter du datoen ind i db\'en, og specificerer at på denne dato skal posten slettes.

En gang om dagen kører du så en SQL query, noget ala
conn.execute(Delete * from tabel where (slet_dato = #date()#))

mere er der sådan set ikke i det
Avatar billede slash Nybegynder
09. august 2001 - 21:19 #7
cyberfessor >> det er da ik\' optimalt! så skal han køre dette manuelt script hver dag! Han kan dog gøre det automatisk ved at bruge Windows Scripting host og W2K Scheduleren ;-)
Avatar billede slash Nybegynder
09. august 2001 - 21:25 #8
mit forslag til en stored procedure - skrevet til sql-server 7.0, men skulle kunne migreres til access:

@declare next_id int
@declare next @int
@declare dato datetime

select @next_id = 0
select @dato = getdate()
select @dato = dateadd(day,-7,@dato)
while @next_id is not null
begin
  select @next_id = min(post_id) from Post_Tabel where post_id > @next_id and postsletdato = @dato
    if @next_id is not null
    begin
      delete from Post_Tabel where postsletdato = @dato
    end
end
Avatar billede macho Praktikant
09. august 2001 - 23:12 #9
slash har hjulpet så meget, at han skal have 500 point; cyberprofessor scorer 100 pts - tks!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester