Avatar billede syntax_hh Nybegynder
31. oktober 2003 - 15:45 Der er 12 kommentarer og
1 løsning

Ved dato, udløber

Jeg har lavet en tagwall. Jeg har tænkt mig at lave sådan at de "tags" som er en måned gamle automatisk bliver slettet fra db'en. Nogen der kan hjælpe?
Avatar billede the_bma_man Nybegynder
31. oktober 2003 - 15:49 #1
Hvordan ser din database ud?
Du skal have gang i et delete-stamenent, med en where-clause der siger noget om datoen.
Men det er svært at skrive, når jeg ikke kender designet på tabellen, der skal slettes i...
Avatar billede dawin_dk Nybegynder
31. oktober 2003 - 15:49 #2
select * from gbtable where dato>(now()-30)
Avatar billede dawin_dk Nybegynder
31. oktober 2003 - 15:50 #3
eeller.. nå ja .. slette... samme deal ...

delete from gbtable where dato<(now()-30)
Avatar billede the_bma_man Nybegynder
31. oktober 2003 - 16:06 #4
Hvilket selvsagt ikke giver en måned hver gang (ca. hver anden fejler det...)
Men ja - det er der omkring.
Avatar billede dawin_dk Nybegynder
31. oktober 2003 - 16:18 #5
lyder for mig til det bare skulle være en hurtig og "overfladisk" arkiv funktion
Avatar billede the_bma_man Nybegynder
31. oktober 2003 - 16:21 #6
fair nok - til det brug virker den.

Syntax> hvis du skal have mere specifik hjælp skal vi bruge et tabel-layout.
Avatar billede syntax_hh Nybegynder
31. oktober 2003 - 16:22 #7
Jeg kunne desværre ikke få det til at virke.. den skal godt nok ind på den side hvor posterne bliver vist, i db connection, ik?
Avatar billede the_bma_man Nybegynder
31. oktober 2003 - 16:27 #8
Kunne du ikke komme med et tabel-design, så du kan få den exacte sql til problemet
Avatar billede syntax_hh Nybegynder
31. oktober 2003 - 16:31 #9
Lige meget, bare glem det... Hvad er fejlen i den her side til tagwallen?

<html>

<head>
<title>Tagwall</title>
<style>
<!--
a{text-decoration:none}
//-->
</style>
</head>

<body link="#000000" vlink="#000000" alink="#000000">

<center><font size="2" face="Tahoma"><a href="vis_tag.asp">Vis indlæg</a> - <a href="indsaet_tag.asp">Tilføj indlæg</a><hr></center>
    <form name="guest" action="indsaet_tag.asp?mode=new" method="post">
        <table>
            <tr>
                <td colspan=2><font face="Tahoma" size="2">Indsæt ny tag</font></td>
            </tr>
            <tr>
                <td><font face="Tahoma" size="2">Navn:</font></td>
                <td><font face="Tahoma" size="2"><input type="text" name="name" size="20" style="font-family: tahoma; font-size: 10pt; border: 1 solid #000000"></font></td>
            </tr>
            <tr>
                <td><font face="Tahoma" size="2">Mail:</font></td>
                <td><font face="Tahoma" size="2"><input type="text" name="mail" size="20" style="font-family: tahoma; font-size: 10pt; border: 1 solid #000000"></font></td>
            </tr>
            <tr>
                <td><font face="Tahoma" size="2">Dato:</font></td>
                <td><font face="Tahoma" size="2"><input type="text" class="text" name="dato" disabled value="<%=Now %>" oncontextmenu="return false" ondragstart="return false" onselectstart="return false" size="20" style="font-family: Tahoma; font-size: 10pt; color: #808080; border: 1 solid #000000" onKeyUp="check_letter()"></font></td>
            </tr>
            <tr>
                <td colspan=2><font face="Tahoma" size="2">Besked<br><textarea cols=27 rows=10 name="besked" style="font-family: tahoma; font-size: 10pt; border: 1 solid #000000"></textarea></font></td>
            </tr>
        </table>
        <font face="Tahoma" size="2">
        Alle felter skal udfyldes!<br>
        <input type="submit" value="Tag" style="font-family: tahoma; font-size: 10pt; background-color: #FFFFFF; border: 1 solid #000000">&nbsp<input type="reset" value="Slet det" style="font-family: tahoma; font-size: 10pt; background-color: #FFFFFF; border: 1 solid #000000">
        </font>
        <br><br>
<b><font size="5" face="Tahoma" color="red">Tryk kun på Tag en gang!!!!!!!</font></b>
    </form>

<%

DBPATH="DBQ=" & server.mappath("db/guest.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open DBPATH
if request("mode")="new" then
    xfrom= request.form("name")
    xname=request.form("name")
    mail=request.form("mail")
    dato=request.form("dato")
    msg=request.form("besked")

    if xfrom="" or xname="" or mail="" or dato="" or msg="" then
        response.write "<b>Du udfyldte ikke alle felterne!!!</b>"
    else
        sql="insert into messages (from_name,from_mail,msg,dato) values('" & xname & "','" & mail & "','" & dato & "','" & msg & "')"
        conn.execute(sql)
    end if
end if
sql="select * from messages order by id DESC"
set rs=conn.execute(sql)
do while rs.eof=false
%>
</body>

</html>
<%
rs.movenext
loop
set conn=nothing
%>


Den viser dette når man trykker på tag, selvom jeg har udfyldt felterne:

Du udfyldte ikke alle felterne!
Avatar billede a-torsten Nybegynder
31. oktober 2003 - 16:40 #10
Denne tjekker altid om der er beskeder som er ældre end 30 dage, og hvis ja, så bliver de slettet...

<%

DBPATH="DBQ=" & server.mappath("db/guest.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open DBPATH
if request("mode")="new" then
    xfrom= request.form("name")
    xname=request.form("name")
    mail=request.form("mail")
    dato=request.form("dato")
    msg=request.form("besked")

    if xfrom="" or xname="" or mail="" or dato="" or msg="" then
        response.write "<b>Du udfyldte ikke alle felterne!!!</b>"
    else
        sql="insert into messages (from_name,from_mail,msg,dato) values('" & xname & "','" & mail & "','" & dato & "','" & msg & "')"
        conn.execute(sql)
    end if
end if
delSql = "delete from gbtable where dato<(now()-30)"
conn.execute(delSql)
sql="select * from messages order by id DESC"
set rs=conn.execute(sql)
do while rs.eof=false
%>

/Anders
Avatar billede syntax_hh Nybegynder
31. oktober 2003 - 17:23 #11
Det kan godt være, men den er jo stadig ikke blevet rettet, så den ikke siger "Du udfylte ikke alle felterne!!"
Avatar billede a-torsten Nybegynder
31. oktober 2003 - 17:39 #12
<%

DBPATH="DBQ=" & server.mappath("db/guest.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open DBPATH
if request("mode")="new" then
    namevar = request.form("name")
    xfrom= namevar
    xname= namevar
    mail=request.form("mail")
    dato=request.form("dato")
    msg=request.form("besked")

    if xfrom="" or xname="" or mail="" or dato="" or msg="" then
        response.write "<b>Du udfyldte ikke alle felterne!!!</b>"
    else
        sql="insert into messages (from_name,from_mail,msg,dato) values('" & xname & "','" & mail & "','" & dato & "','" & msg & "')"
        conn.execute(sql)
    end if
end if
sql="select * from messages order by id DESC"
set rs=conn.execute(sql)
do while rs.eof=false
%>

Hvad bruger du igentlig xfrom til...??
Avatar billede syntax_hh Nybegynder
01. november 2003 - 19:31 #13
Dunno ;P
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