eko Posted January 2, 2005 Share Posted January 2, 2005 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? 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=[GRÅ]"include/installning.asp"[/GRÅ] --> <!-- #include file=[GRÅ]"include/link.asp"[/GRÅ] --> <%Function FixaTecken(str) FixaTecken = [color="#0000ff"]Replace[/color]([color="#0000ff"]Trim[/color](str),[GRÅ]"'"[/GRÅ],[GRÅ]"''"[/GRÅ]) [color="#0000ff"]End[/color] [color="#0000ff"]Function[/color] [color="#0000ff"]Set[/color] Conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ]) Conn.Open [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[/GRÅ] & db [color="#0000ff"]If[/color] [b]Request[/b].Querystring([GRÅ]"do"[/GRÅ])= [GRÅ]""[/GRÅ] Then%> <BR> <table width=[GRÅ]"502"[/GRÅ] border=[GRÅ]"0"[/GRÅ]> <form method=[GRÅ]"post"[/GRÅ] action=[GRÅ]"guestbook.asp?do=add"[/GRÅ] name=[GRÅ]"gastbok"[/GRÅ] onSubmit=[GRÅ]"return GbIn()"[/GRÅ]> <tr> <td height=[GRÅ]"15"[/GRÅ]> Name<br> <input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"namn"[/GRÅ] size=[GRÅ]"48"[/GRÅ]> </td></tr> <tr> <td> <div align=[GRÅ]"left"[/GRÅ]> E-mail <br> <input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"email"[/GRÅ] size=[GRÅ]"48"[/GRÅ]> </div></td></tr> <tr> <td> <div align=[GRÅ]"left"[/GRÅ]> Homepage<br> <input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"hemsida"[/GRÅ] size=[GRÅ]"48"[/GRÅ]> </div></td></tr> <tr> <td height=[GRÅ]"19"[/GRÅ] valign=[GRÅ]"top"[/GRÅ]> <div align=[GRÅ]"left"[/GRÅ]> Message<br> <textarea name=[GRÅ]"Meddelande"[/GRÅ] cols=[GRÅ]"50"[/GRÅ] rows=[GRÅ]"10"[/GRÅ]></textarea> </div></td></tr> <tr> <td valign=[GRÅ]"top"[/GRÅ]> <input type=[GRÅ]"image"[/GRÅ] border=[GRÅ]"0"[/GRÅ] name=[GRÅ]"Posta inlägg"[/GRÅ] src=[GRÅ]"graphic/posta.gif"[/GRÅ] WIDTH=[GRÅ]"92"[/GRÅ] HEIGHT=[GRÅ]"21"[/GRÅ]> <br> <br> </td></tr> </form></table> <table width=[GRÅ]"502"[/GRÅ] border=[GRÅ]"0"[/GRÅ] cellpadding=[GRÅ]"2"[/GRÅ] cellspacing=[GRÅ]"0"[/GRÅ]> <%Set Recset = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ]) [color="#0000ff"]Const[/color] gbaps = 25 Sidan = [b]Request[/b].QueryString([GRÅ]"page"[/GRÅ]) [color="#0000ff"]If[/color] Sidan = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] sida = 1 [color="#0000ff"]Else[/color] sida = Sidan [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] [color="#0000ff"]With[/color] RecSet .CursorLocation = 3 .CacheSize = gbaps [color="#0000ff"]End[/color] [color="#0000ff"]With[/color] SQL = [GRÅ]"Select * From inlagg Order By datum desc"[/GRÅ] RecSet.Open SQL, Conn [color="#0000ff"]If[/color] RecSet.EOF Then%> <tr> <td><i>Inget har skrivit i gästboken.</i></td></tr> <%Else [color="#0000ff"]With[/color] RecSet .MoveFirst .PageSize = gbaps .AbsolutePage = sida [color="#0000ff"]End[/color] [color="#0000ff"]With[/color] Sidor = RecSet.PageCount [color="#0000ff"]If[/color] Sidor > 1 Then%> <tr> <td valign=[GRÅ]"top"[/GRÅ]> </td></tr> <%End [color="#0000ff"]If[/color] X = 0 [color="#0000ff"]Do[/color] [color="#0000ff"]While[/color] [color="#0000ff"]Not[/color] RecSet.EOF [color="#0000ff"]And[/color] X < RecSet.PageSize%> <tr> <td><img src=[GRÅ]"graphic/hr3d.gif"[/GRÅ] width=[GRÅ]"346"[/GRÅ] height=[GRÅ]"3"[/GRÅ]></td> </tr> <%If Recset([GRÅ]"Email"[/GRÅ]) <> [GRÅ]""[/GRÅ] Then%> <tr> <td><font color=[GRÅ]"#000000"[/GRÅ]>|</font> <b><a href=[GRÅ]"mailto:<%=Recset("[/GRÅ]Email[GRÅ]")%>"[/GRÅ]>[MÄRK]<%[/MÄRK]=Recset([GRÅ]"Namn"[/GRÅ])[MÄRK]%>[/MÄRK]</a></b> <font color=[GRÅ]"#000000"[/GRÅ]>|</font> [MÄRK]<%[/MÄRK]=[color="#0000ff"]FormatDateTime[/color](Recset([GRÅ]"Datum"[/GRÅ]),4)[MÄRK]%>[/MÄRK] <font color=[GRÅ]"#000000"[/GRÅ]>|</font> [MÄRK]<%[/MÄRK]=[color="#0000ff"]FormatDateTime[/color](Recset([GRÅ]"Datum"[/GRÅ]),2)[MÄRK]%>[/MÄRK] <font color=[GRÅ]"#000000"[/GRÅ]>|</font> <a href=[GRÅ]"http://www.leissner.se/cgi/whois?text=<%=Recset("[/GRÅ]ip[GRÅ]")%>&c=eu"[/GRÅ] target=[GRÅ]"blank"[/GRÅ]>[MÄRK]<%[/MÄRK]=Recset([GRÅ]"ip"[/GRÅ])[MÄRK]%>[/MÄRK]</a> <%If RecSet([GRÅ]"Hemsida"[/GRÅ]) <> [GRÅ]""[/GRÅ] Then%> <font color=[GRÅ]"#000000"[/GRÅ]>|</font> <a href=[GRÅ]"<%=RecSet("[/GRÅ]Hemsida[GRÅ]")%>"[/GRÅ] target=[GRÅ]"_blank"[/GRÅ]> <b>[MÄRK]<%[/MÄRK]=[color="#0000ff"]Mid[/color](RecSet([GRÅ]"Hemsida"[/GRÅ]),8,50)[MÄRK]%>[/MÄRK]</b> </a> <%End If%> </td> </tr> <tr> <td><img src=[GRÅ]"graphic/hr3d.gif"[/GRÅ] width=[GRÅ]"346"[/GRÅ] height=[GRÅ]"3"[/GRÅ]></td> </tr> <%Else%> <tr> <td><font color=[GRÅ]"#000000"[/GRÅ]>|</font> <b>[MÄRK]<%[/MÄRK]=Recset([GRÅ]"Namn"[/GRÅ])[MÄRK]%>[/MÄRK]</b> <font color=[GRÅ]"#000000"[/GRÅ]>|</font> [MÄRK]<%[/MÄRK]=[color="#0000ff"]FormatDateTime[/color](Recset([GRÅ]"Datum"[/GRÅ]),4)[MÄRK]%>[/MÄRK] <font color=[GRÅ]"#000000"[/GRÅ]>|</font> [MÄRK]<%[/MÄRK]=[color="#0000ff"]FormatDateTime[/color](Recset([GRÅ]"Datum"[/GRÅ]),2)[MÄRK]%>[/MÄRK] <font color=[GRÅ]"#000000"[/GRÅ]>|</font> <a href=[GRÅ]"http://www.leissner.se/cgi/whois?text=<%=Recset("[/GRÅ]ip[GRÅ]")%>&c=eu"[/GRÅ] target=[GRÅ]"blank"[/GRÅ]>[MÄRK]<%[/MÄRK]=Recset([GRÅ]"ip"[/GRÅ])[MÄRK]%>[/MÄRK]</a> <%If RecSet([GRÅ]"Hemsida"[/GRÅ]) <> [GRÅ]""[/GRÅ] Then%> <font color=[GRÅ]"#000000"[/GRÅ]>|</font> <a href=[GRÅ]"<%=RecSet("[/GRÅ]Hemsida[GRÅ]")%>"[/GRÅ] target=[GRÅ]"_blank"[/GRÅ]> <b>[MÄRK]<%[/MÄRK]=[color="#0000ff"]Mid[/color](RecSet([GRÅ]"Hemsida"[/GRÅ]),8,50)[MÄRK]%>[/MÄRK]</b> </a> <%End If%> </td> </tr> <tr> <td><img src=[GRÅ]"graphic/hr3d.gif"[/GRÅ] width=[GRÅ]"346"[/GRÅ] height=[GRÅ]"3"[/GRÅ]></td> </tr> <%End If%> <tr> <td>[MÄRK]<%[/MÄRK]=FixaLankar(RecSet([GRÅ]"Meddelande"[/GRÅ]))[MÄRK]%>[/MÄRK]</td> </tr> <%If Recset([GRÅ]"svar"[/GRÅ]) <> [GRÅ]""[/GRÅ] Then%> <tr> <td> </td></tr> <tr> <td>melody club:<b> </b><i>[MÄRK]<%[/MÄRK]=[color="#0000ff"]Replace[/color](RecSet([GRÅ]"svar"[/GRÅ]), vbCrLf, [GRÅ]"<br>"[/GRÅ])[MÄRK]%>[/MÄRK]</i></td></tr> <%End If%> <%X = X+ 1 Recset.MoveNext [color="#0000ff"]Loop[/color] [color="#0000ff"]If[/color] Sidor > 1 Then%> <tr> <td><img src=[GRÅ]"graphic/hr3d.gif"[/GRÅ] width=[GRÅ]"346"[/GRÅ] height=[GRÅ]"3"[/GRÅ]></td> </tr> <tr> <td valign=[GRÅ]"top"[/GRÅ]> <%For Sid = 1 [color="#0000ff"]To[/color] Sidor [color="#0000ff"]If[/color] (Int(Sid)) = (Int(sida)) Then%> <font color=[GRÅ]"#CCCCCC"[/GRÅ]>[MÄRK]<%[/MÄRK]=Sid%></font> <%Else%> <a href=[GRÅ]"?NODE=11&page=<%=Sid%>"[/GRÅ]>[MÄRK]<%[/MÄRK]=Sid%></a> <%End [color="#0000ff"]If[/color] Next%> </td></tr> <tr> <td valign=[GRÅ]"top"[/GRÅ]> </td></tr> </table><%End [color="#0000ff"]If[/color] Recset.Close [color="#0000ff"]Set[/color] Recset = [color="#0000ff"]Nothing[/color] [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] [color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"do"[/GRÅ])= [GRÅ]"add"[/GRÅ] [color="#0000ff"]Then[/color] Namn = [b]Request[/b].Form([GRÅ]"namn"[/GRÅ]) Email = [b]Request[/b].Form([GRÅ]"email"[/GRÅ]) Hemsida = [b]Request[/b].Form([GRÅ]"hemsida"[/GRÅ]) Meddelande = FixaTecken([b]Request[/b].Form([GRÅ]"meddelande"[/GRÅ])) Ip = [b]Request[/b].Servervariables([GRÅ]"REMOTE_ADDR"[/GRÅ]) [color="#0000ff"]If[/color] Hemsida <> [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] [color="#0000ff"]If[/color] [color="#0000ff"]Left[/color](Hemsida,7) = [GRÅ]"http://"[/GRÅ] [color="#0000ff"]Then[/color] Hemsida = Hemsida [color="#0000ff"]Else[/color] Hemsida = [GRÅ]"http://"[/GRÅ] & Hemsida [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Insert Into inlagg(Namn, Email, Hemsida, Meddelande,ip) Values('"[/GRÅ]& Namn &[GRÅ]"','"[/GRÅ]& Email &[GRÅ]"','"[/GRÅ]& Hemsida &[GRÅ]"','"[/GRÅ]&Meddelande &[GRÅ]"','"[/GRÅ]& Ip &[GRÅ]"')"[/GRÅ]) Conn.Close [color="#0000ff"]Set[/color] Conn = [color="#0000ff"]Nothing[/color] [b]Response[/b].Redirect [GRÅ]"?NODE=11"[/GRÅ] [color="#0000ff"]End[/color] If%> Link to comment Share on other sites More sharing options...
Mentor Posted January 2, 2005 Share Posted January 2, 2005 [color="#0000ff"]Select[/color] * FROM inlagg WHERE (datum =([color="#0000ff"]Select[/color] MAX(datum) FROM inlagg)) Link to comment Share on other sites More sharing options...
eko Posted January 2, 2005 Author Share Posted January 2, 2005 Tack! Men hur går jag vidare med den koden? Link to comment Share on other sites More sharing options...
Mentor Posted January 2, 2005 Share Posted January 2, 2005 Du får skapa en connection och ett recordset precis som du har gjort i koden som du klistrade in här. sen får du använda min sql sats och visa resultatet på första sidan. <%Set Con = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ]) Con.Open [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[/GRÅ] & db SQL = [GRÅ]"Select * FROM inlagg WHERE (datum =(Select MAX(datum) FROM inlagg))"[/GRÅ] [color="#0000ff"]Set[/color] Rs = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ]) Rs.Open SQL, Con [color="#006400"]'Här skriver du ut data från sista inlägget. [/color] [color="#006400"]'osv........[/color] [MÄRK]%>[/MÄRK] [inlägget ändrat 2005-01-02 22:57:37 av Mentor] Link to comment Share on other sites More sharing options...
eko Posted January 2, 2005 Author Share Posted January 2, 2005 Jag har inte skrivit koden över helt på egen hand och har inte superkoll på hur den funkar. Förstår bara vissa bitar och är inte så haj på asp ännu... Vilken del utav min kod är "connection och ett recordset"? <%Set Con = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ]) Con.Open [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[/GRÅ] & db SQL = [GRÅ]"Select * FROM inlagg WHERE (datum =(Select MAX(datum) FROM inlagg))"[/GRÅ] [color="#0000ff"]Set[/color] Rs = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ]) Rs.Open SQL, Con [MÄRK]<%[/MÄRK]=Recset([GRÅ]"Namn"[/GRÅ])[MÄRK]%>[/MÄRK] <br> [MÄRK]<%[/MÄRK]=(RecSet([GRÅ]"Meddelande"[/GRÅ])[MÄRK]%>[/MÄRK] [MÄRK]%>[/MÄRK] Man skriver ut såhär va? tex <%=Recset("Namn")%> Tack för erat tålamod... Link to comment Share on other sites More sharing options...
Rest man Klaymen Posted January 3, 2005 Share Posted January 3, 2005 fick problem med postningen... vet inte vad som hände men nu funkar det visst [inlägget ändrat 2005-01-03 08:32:27 av Rest man Klaymen] Link to comment Share on other sites More sharing options...
Rest man Klaymen Posted January 3, 2005 Share Posted January 3, 2005 connection är din Con = ADODB.Connection Recordset är din Rs = ADODB.Recordset SQL-satsen bestämmer vilka poster som ska hämtas ur databasen: SQL = [GRÅ]"Select * FROM inlagg WHERE (datum =(Select MAX(datum) FROM inlagg))"[/GRÅ] dvs hämta alla inlägg där datumet är det maximala i hela tabellen sedan öppnar du Con och SQL med recordset: Rs.Open SQL, Con för att sedan skriva ut det som finns i recordset skriver du: [MÄRK]<%[/MÄRK]=Rs([GRÅ]"db-fält"[/GRÅ])[MÄRK]%>[/MÄRK] eftersom det nu bara är en post i recordsetet räcker det att bara skriva så här.. om det hade varit flera hade du fått göra en loop: [color="#0000ff"]Do[/color] Until Rs.EOF [MÄRK]%>[/MÄRK] [MÄRK]<%[/MÄRK]=Rs([GRÅ]"namn"[/GRÅ])[MÄRK]%>[/MÄRK] har skrivit<br> [MÄRK]<%[/MÄRK]=Rs([GRÅ]"meddelande"[/GRÅ])[MÄRK]%>[/MÄRK] <br><br> [MÄRK]<%[/MÄRK] Rs.MoveNext [color="#0000ff"]Loop[/color] Rs.Close [MÄRK]%>[/MÄRK] Det jag gör här är att jag skapar en slinga som fortsätter tills Rs är slut (EOF = EndOfFile) Sedan skriver jag ut det som står i översta posten, gör en movenext (för att rs ska flytta vidare till nästa post) och sedan loop (så börjar den om från do until igen (fast nu på nästa post) ända tills rs är slut och då stägner jag rs (rs.close) hoppas det var till någon hjälp! / RMK Jobbiga_färger. [inlägget ändrat 2005-01-03 08:33:30 av Rest man Klaymen] [inlägget ändrat 2005-01-03 08:35:01 av Rest man Klaymen] Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.