Avatar billede martin29 Nybegynder
01. april 2003 - 16:03 Der er 12 kommentarer og
1 løsning

Marquee og Database

Hejsa!

Hvordan får jeg altid kun de 3 nyeste indlæg i min database vist i kun 1 marquee som løbetekst?

Ligeledes skal jeg lige have hjælp til at lave en funktion der sletter alt over 3 indlæg i databasen.

---
Mvh
Martin


<% response.buffer = true %>
<html>

<head>
<META HTTP-EQUIV="Refresh" CONTENT="120">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<title>news</title>
<base target="_top">
</head>

<body bgcolor="#00FF00" topmargin="0" leftmargin="0">

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database/database.mdb")
strSQL = "Select Top 1 * from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "<font face=""Arial"" size=""2"">G&aelig;stebogen er tom.</font>"
else
Do Until rs.EOF
%>


<marquee width="134" scrollamount="2" scrolldelay="80" height="18">
<B><%=RS("Dato")%></B>&nbsp;skrev&nbsp;<B><%=RS("Navn")%></B>&nbsp;:&nbsp;<B><%=RS("Besked")%></B></marquee>


<%
RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>

</body>
</html>
Avatar billede -master-d- Nybegynder
01. april 2003 - 16:49 #1
Sådan her bliver de tre i et og kun et marquee.

<html>

<head>
<META HTTP-EQUIV="Refresh" CONTENT="120">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<title>news</title>
<base target="_top">
</head>

<body bgcolor="#00FF00" topmargin="0" leftmargin="0">
<marquee width="134" scrollamount="2" scrolldelay="80" height="18">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database/database.mdb")
strSQL = "Select Top 3 * from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "<font face=""Arial"" size=""2"">G&aelig;stebogen er tom.</font>"
else
Do Until rs.EOF
%>

<B><%=RS("Dato")%></B>&nbsp;skrev&nbsp;<B><%=RS("Navn")%></B>&nbsp;:&nbsp;<B><%=RS("Besked")%></B>


<%
RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
</marquee>
</body>
</html>
Avatar billede -master-d- Nybegynder
01. april 2003 - 16:53 #2
Det med de tre nyeste kræver at du har et eller andet i din database som du kan sortere efter.
Så hvis ID er autonummering så skulle det virke.
Avatar billede martin29 Nybegynder
01. april 2003 - 17:37 #3
Genialt så virker min marquee. :-)

Hvordan sletter jeg så databasen løbende?

---
Mvh
Martin
Avatar billede -master-d- Nybegynder
01. april 2003 - 18:05 #4
Er ikke helt sikker på om dette virker, men er den nemmeste løsning jeg lige kan komme i tanke om.

<%Response.Buffer=True%>
<html>

<head>
<META HTTP-EQUIV="Refresh" CONTENT="120">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<title>news</title>
<base target="_top">
</head>

<body bgcolor="#00FF00" topmargin="0" leftmargin="0">
<marquee width="134" scrollamount="2" scrolldelay="80" height="18">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database/database.mdb")
strSQL = "Select Top 3 * from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "<font face=""Arial"" size=""2"">G&aelig;stebogen er tom.</font>"
else
Do Until rs.EOF
'Her laves der et array
NoDel = NoDel & RS("ID") & ","
%>

<B><%=RS("Dato")%></B>&nbsp;skrev&nbsp;<B><%=RS("Navn")%></B>&nbsp;:&nbsp;<B><%=RS("Besked")%></B>


<%
RS.MoveNext
Loop

'Her sepereres arrayet igen
arrNye = Split(NoDel,",")
'Her sletter du alle gamle indlæg
strSQL = "Delete from from gaestebogen where NOt (Id = arrNye(0) OR Id = arrNye(1) OR Id = arrnye(2))"
Conn.Execute(strSQL)

end if

Conn.Close
Set Conn = Nothing%>
</marquee>
</body>
</html>
Avatar billede martin29 Nybegynder
01. april 2003 - 19:36 #5
Din løsning til at slette virker ikke helt så godt. :-)
Får en fejl der hedder.:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
/news2.asp, line 34

Linie 34 er følgende.:
Conn.Execute(strSQL)

Nogen ideer til havd der går galt?

---
Mvh
Martin
Avatar billede -master-d- Nybegynder
01. april 2003 - 20:16 #6
Min fejl har to from's lige efter hinanden.

<%Response.Buffer=True%>
<html>

<head>
<META HTTP-EQUIV="Refresh" CONTENT="120">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<title>news</title>
<base target="_top">
</head>

<body bgcolor="#00FF00" topmargin="0" leftmargin="0">
<marquee width="134" scrollamount="2" scrolldelay="80" height="18">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database/database.mdb")
strSQL = "Select Top 3 * from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "<font face=""Arial"" size=""2"">G&aelig;stebogen er tom.</font>"
else
Do Until rs.EOF
'Her laves der et array
NoDel = NoDel & RS("ID") & ","
%>

<B><%=RS("Dato")%></B>&nbsp;skrev&nbsp;<B><%=RS("Navn")%></B>&nbsp;:&nbsp;<B><%=RS("Besked")%></B>


<%
RS.MoveNext
Loop

'Her sepereres arrayet igen
arrNye = Split(NoDel,",")
'Her sletter du alle gamle indlæg
strSQL = "Delete from gaestebogen where NOt (Id = arrNye(0) OR Id = arrNye(1) OR Id = arrnye(2))"
Conn.Execute(strSQL)

end if

Conn.Close
Set Conn = Nothing%>
</marquee>
</body>
</html>
Avatar billede martin29 Nybegynder
01. april 2003 - 20:31 #7
Sorry, virker stadig ikke helt.

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Undefined function 'arrNye' in expression.

og det er stadig i denne linie.:
Conn.Execute(strSQL)
Avatar billede -master-d- Nybegynder
01. april 2003 - 20:52 #8
Jeg tror jeg sov da jeg lavede det der, for der er da gået noget helt galt.

strSQL = "Delete from gaestebogen where NOt (Id = arrNye(0) OR Id = arrNye(1) OR Id = arrnye(2))"

rettes til

strSQL = "Delete from gaestebogen where NOt (Id = " & arrNye(0) & " OR Id = " & arrNye(1) & " OR Id = " & arrnye(2) & ")"
Avatar billede martin29 Nybegynder
01. april 2003 - 21:02 #9
Gør ikke noget at du sov, for jeg ved slet ikke noget om det. :-)

Det virker, og tusind tak for det. :-)

---
Mvh
Martin
Avatar billede -master-d- Nybegynder
01. april 2003 - 21:32 #10
lægger lige et svar, eller er der mere du skal have hjælp til.
Avatar billede martin29 Nybegynder
01. april 2003 - 21:37 #11
Nej tak. Det var det hele i denne omgang.

Tak for hjælpen.
Avatar billede -master-d- Nybegynder
01. april 2003 - 21:41 #12
Takker for pointene...
Avatar billede martin29 Nybegynder
01. april 2003 - 21:46 #13
Det er mig der takker. :-)
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