webForumDet fria alternativet

Skriv ut senaste inlägg

ASP

9 svar · 481 visningar · startad av eko

Medlem sedan juni 2002198 inlägg
Frågan#1

Tjao.

Jag har sökt här i forumet men hittar ingen hjälp på detta.
Hur gör jag för att skriva ut det senaste inlägget i min gästbok på min förstasida?

Ifrån guestbook.mdb vill jag skriva ut Namn och Meddelande!

/ Tack

Medlem sedan sep. 20026 425 inlägg
#2

Om du lagrar datum för när någon skrev ett inlägg senast i databasen och fältet för datum heter Datum, så exekverar du en SQL-fråga som ser ut så här:

SELECT Namn, Meddelande, Datum FROM tabell ORDER BY Datum DESC

Visa oss mer kod.

Medlem sedan sep. 2003301 inlägg
#3

Skriv en SQLfråga mon din DB sortera inläggen efter datum och sortera dem fallande ta sedan det första inlägget och skriv ut det på första sidan... Eller skapa en Applications variabel som innehåller det första inlägget om du har många besök...

2:a jag började skriva men hamnade i telefonen :r

Medlem sedan juni 2002198 inlägg
#4

Ok, här är koden för guestbook.asp
Databasen finns på db/guestbook.mdb

På min startsida skulle jag vilja att det står:
Senaste inlägget i gästboken skrevs utav "Namn" <br><br>
"Meddelande"

<%Response.Buffer = True%> 
<!-- #include file="include/installning.asp" --> 
<!-- #include file="include/link.asp" --> 

<%Function FixaTecken(str) 
FixaTecken = Replace(Trim(str),"'","''") 
End function 

Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db 

If Request.Querystring("do")= "" Then%>
<BR>
<table width="502" border="0">
  <form method="post" action="guestbook.asp?do=add" name="gastbok" onSubmit="return GbIn()"> 
<tr> 
      <td height="15"> Name<br> 
<input type="text" name="namn" size="48"> </td></tr> <tr> <td> <div align="left"> 
          E-mail <br>
           <input type="text" name="email" size="48"> 
</div></td></tr> <tr> <td> <div align="left"> Homepage<br> 
<input type="text" name="hemsida" size="48"> </div></td></tr> <tr> <td height="19" valign="top"> 
<div align="left"> Message<br> 
          <textarea name="Meddelande" cols="50" rows="10"></textarea>
           </div></td></tr> <tr> 
<td valign="top"> <input type="image" border="0" name="Posta inl&auml;gg" src="graphic/posta.gif" WIDTH="92" HEIGHT="21"> 
<br> <br> </td></tr> </form></table>
<table width="502" border="0" cellpadding="2" cellspacing="0">
  <%Set Recset = Server.CreateObject("ADODB.Recordset") 

Const gbaps = 25 
Sidan = Request.QueryString("page") 
If Sidan = "" then 
sida = 1 
Else 
sida = Sidan 
End If 

With RecSet 
.CursorLocation = 3 
.CacheSize = gbaps 
End With 

SQL = "Select * From inlagg Order By datum desc" 
RecSet.Open SQL, Conn 

If RecSet.EOF Then%> <tr> <td><i>Inget har skrivit i gästboken.</i></td></tr> 
<%Else 

With RecSet 
.MoveFirst 
.PageSize = gbaps 
.AbsolutePage = sida 
End With 

Sidor = RecSet.PageCount 

If Sidor > 1 Then%> <tr> <td valign="top"> </td></tr> <%End If 

X = 0 
Do While Not RecSet.EOF And X < RecSet.PageSize%> <tr> 
    <td><img src="graphic/hr3d.gif" width="346" height="3"></td>
  </tr> 
<%If Recset("Email") <> "" Then%> <tr> 
    <td><font color="#000000">|</font> <b><a href="mailto:<%=Recset("Email")%>"><%=Recset("Namn")%></a></b> <font color="#000000">|</font> 
<%=FormatDateTime(Recset("Datum"),4)%> <font color="#000000">|</font> <%=FormatDateTime(Recset("Datum"),2)%> 
<font color="#000000">|</font> <a href="http://www.leissner.se/cgi/whois?text=<%=Recset("ip")%>&c=eu" target="blank"><%=Recset("ip")%></a> 
<%If RecSet("Hemsida") <> "" Then%> <font color="#000000">|</font> <a href="<%=RecSet("Hemsida")%>" target="_blank"> 
<b><%=Mid(RecSet("Hemsida"),8,50)%></b> </a> <%End If%>
    </td>
  </tr> <tr> 
    <td><img src="graphic/hr3d.gif" width="346" height="3"></td>
  </tr> 
<%Else%> <tr> 
    <td><font color="#000000">|</font> <b><%=Recset("Namn")%></b> <font color="#000000">|</font> <%=FormatDateTime(Recset("Datum"),4)%> 
<font color="#000000">|</font> <%=FormatDateTime(Recset("Datum"),2)%> <font color="#000000">|</font> 
<a href="http://www.leissner.se/cgi/whois?text=<%=Recset("ip")%>&c=eu" target="blank"><%=Recset("ip")%></a> 
<%If RecSet("Hemsida") <> "" Then%> <font color="#000000">|</font> <a href="<%=RecSet("Hemsida")%>" target="_blank"> 
<b><%=Mid(RecSet("Hemsida"),8,50)%></b> </a> <%End If%>
    </td>
  </tr> <tr> 
    <td><img src="graphic/hr3d.gif" width="346" height="3"></td>
  </tr> 
<%End If%> <tr> 
    <td><%=FixaLankar(RecSet("Meddelande"))%></td>
  </tr> 
<%If Recset("svar") <> "" Then%> <tr> <td> </td></tr> <tr> <td>melody club:<b> 
</b><i><%=Replace(RecSet("svar"), vbCrLf, "<br>")%></i></td></tr> <%End If%> <%X = X+ 1 
Recset.MoveNext 
Loop 
If Sidor > 1 Then%> <tr> 
    <td><img src="graphic/hr3d.gif" width="346" height="3"></td>
  </tr> 
<tr> <td valign="top"> <%For Sid = 1 To Sidor 
If (Int(Sid)) = (Int(sida)) Then%> <font color="#CCCCCC"><%=Sid%></font> <%Else%> 
<a href="?NODE=11&page=<%=Sid%>"><%=Sid%></a> <%End If 
Next%> </td></tr> <tr> <td valign="top">&nbsp;</td></tr> </table><%End If 
Recset.Close 
Set Recset = Nothing 
End If 

End If 
If Request.QueryString("do")= "add" Then 

Namn = Request.Form("namn") 
Email = Request.Form("email") 
Hemsida = Request.Form("hemsida") 
Meddelande = FixaTecken(Request.Form("meddelande")) 
Ip = Request.Servervariables("REMOTE_ADDR") 

If Hemsida <> "" Then 
If Left(Hemsida,7) = "http://" Then 
Hemsida = Hemsida 
Else 
Hemsida = "http://" & Hemsida 
End If 
End If 

Conn.Execute("Insert Into inlagg(Namn, Email, Hemsida, Meddelande,ip) Values('"& Namn &"','"& Email &"','"& Hemsida &"','"&Meddelande &"','"& Ip &"')") 

Conn.Close 
Set Conn = Nothing 

Response.Redirect "?NODE=11" 

End If%>
Medlem sedan juni 200032 967 inlägg
#5
<%
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/guestbook.mdb")

Set objRS = Conn.Execute ("SELECT TOP 1 Namn, Meddelande FROM inlagg ORDER BY datum DESC")
If not objRS.EOF then
	Response.write "<b>Senaste inlägget:</b><br>" & objRS("Namn") & ": " & objRS("Meddelande") & "<br><br>"
End if

objRS.Close
Set objRS = Nothing
Conn.Close
set Conn = Nothing
%>

Det vore bra om du såg över så du bara postade relevant kod, då blir det mycket lättare att hjälpa till.

Jag vet inte vad du har i dina includefiler, men i någon av dem definieras väl db. Ta bort den andra inkluderingen, så du inte inkluderar en massa skräp i onödan.

Medlem sedan juni 2002198 inlägg
#6

Koden funkar inte... Så jag ändrade lite så att det blev såhär:

<%
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db = Server.MapPath("db/guestbook.mdb")
Set objRS = objConn.Execute ("SELECT TOP 1 Namn, Meddelande FROM inlagg ORDER BY Datum DESC"
If not objRS.EOF then
	Response.write "<b>Senaste inlägget:</b><br>" & objRS("Namn") & ": " & objRS("Meddelande") & "<br><br>"
End if

objRS.Close
Set objRS = Nothing
objConn.Close
set objConn = Nothing
%>

Funkar inte bättre nu och jag får följande mess:

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03EE)
')' förväntas.
/html/Site/TMPd42qb9rn1e.asp, line 4, column 92
Set objRS = objConn.Execute ("SELECT TOP 1 Namn, Meddelande FROM inlagg ORDER BY Datum DESC"

Vad är det för fel? :(

Medlem sedan juni 200032 967 inlägg
#7

Det saknas en slutparentes på den raden, precis som felmeddelandet säger.

Medlem sedan jan. 20011 213 inlägg
#8
Set objRS = objConn.Execute ("SELECT TOP 1 Namn, Meddelande FROM inlagg ORDER BY Datum DESC")
Medlem sedan juni 200032 967 inlägg
#9

Dessutom:

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db = Server.MapPath("db/guestbook.mdb")

skall vara:

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/guestbook.mdb")

Edit: jag ser att jag också skrev fel namn på connectionobjektet. Jag har korrigerat min kod ovan så den förhoppningsvis fungerar bättre.

mvh

Medlem sedan juni 2002198 inlägg
#10

Tack alla snälla :) Nu blev koden perfekt!

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)