Avatar billede izemate Nybegynder
09. juni 2006 - 23:37 Der er 13 kommentarer og
1 løsning

Vis nyeste emne..

hey

Jeg har sådan et lille gratis forum jeg har downloadet..
Jeg tænkte om man ikke kunne gøre sådan at det nyeste indlæg blev vist for forsiden..

her er et screenshot af databasen : www.street-crew.dk/screenshot.jpg

Jeg kunne forstille mig at det var noget med at den sorterede i dato strengen.

Jeg vil gerne have en færdig kode hvis muligt, da jeg ikek selv er nogen haj til asp..

på forhånd tak og god weekend
Avatar billede weis Nybegynder
09. juni 2006 - 23:47 #1
Hvis alle indlægne i forumet ligger i den database (Forums) så man kan bare sortere efter id, da det højeste id så altid vil være det nyeste indlæg. Så kan du fx prøve med:

<% Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("DIN_DATABASE.mdb")

strSQL = "Select Top 1 * From Forums order by id DESC"
Set rs = Conn.Execute(strSQL)
    if rs.EOF then
        response.write ("Der er ikke tilføjet noget endnu")
    else
        'Her skal overskriften og det være som du vil have vist på siden, det bliver kun vist hvis der er noget indlæg i forumet
    end if

rs.Close
Set rs = Nothing

Conn.Close
Set Conn = Nothing
%>
Avatar billede izemate Nybegynder
10. juni 2006 - 00:15 #2
Okay jamen det virker jo super.. MEN jeg udskriver indælget ved hjælp af <%= rs("name") %> kan man ikke gøre så den kun udskriver et hvis antal karaktere ex 30 og så skriver den "..." til sidst.
Sådan så man kun lige læser indledningen.. håber du forstår..
Avatar billede weis Nybegynder
10. juni 2006 - 00:19 #3
jo du kan, denne kode tjekker om der er mere end 30 tegn i feltet og hvis der er det skrive den de 30 plus "..." og hvis der er mindre end 30 så skriver den alt i feltet

If Len(rs("name")) > 30 Then
tekst = left(rs("name"),30) & "..."
else
tekst = rs("name")
end If

Så kan ud udskrive det med <% response.write tekst %>
Avatar billede izemate Nybegynder
10. juni 2006 - 10:43 #4
Okay synes ikke helt at kunne få det til at virke..
min kode ser sådan her ud:

            <%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/forum.mdb")
Conn.Open DSN

strSQL = "Select Top 1 * From Entries order by id DESC"
set rs = conn.execute(strSQL)

if not rs. eof then
do while not rs.eof
%>

<%
If Len(rs("comment")) > 30 Then
tekst = left(rs("comment"),30) & "..."
else
tekst = rs("comment")
end If
%>
<a href="/forum/forumthreads.asp?forumid=<%= rs("ForumId") %>" target="content"><i><b><%= rs("name") %></b></i> | <%= rs("comment") %></a>
<%
rs.movenext
loop
end if
%>

På forhånd tak
Avatar billede weis Nybegynder
10. juni 2006 - 14:11 #5
Du skal ikke hente teksten ved at skrive: <%= rs("comment") %>

Du skal bruge denne kode: <% response.write tekst %>
Avatar billede weis Nybegynder
10. juni 2006 - 14:16 #6
ps: jeg kan se at du laver en løkke, hvilket du ikke behøver da du kun trækker en string ud fra databasen..!
Avatar billede izemate Nybegynder
10. juni 2006 - 15:51 #7
nu ser koden sådan her ud
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/forum.mdb")
Conn.Open DSN

strSQL = "Select Top 1 * From Entries order by id DESC"
set rs = conn.execute(strSQL)

If Len(rs("comment")) > 20 Then
tekst = left(rs("comment"),20) & "..."
else
tekst = rs("comment")
end If

if not rs. eof then
do while not rs.eof
%>
<a href="/forum/forumthreads.asp?forumid=<%= rs("ForumId") %>" target="content"><i><b><%= rs("name") %></b></i> | <% response.write tekst %></a>
<%
rs.movenext
loop
end if
%>


Den udskriver name osv men ved comment skriver den bare "..."
Ved du hvad der er galt ?
Avatar billede weis Nybegynder
10. juni 2006 - 16:03 #8
Jeg har lige testet den her, som jeg ikke har noget problem med

<% Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/forum.mdb")
Conn.Open DSN

    strSQL = "Select Top 1 * From Entries order by id DESC"
    set rs = Conn.execute(strSQL)

    if rs.EOF then
        response.write "Der er ikke oprettet noget i forumet endnu"
    else %>
        <a href="/forum/forumthreads.asp?forumid=<% =rs("ForumId") %>" target="content"><i><b><% =rs("name") %></b></i> |
        <% If Len(rs("comment")) > 20 Then
                Response.Write left(rs("comment"),20) & "..."
            else
                Response.write rs("comment")
            End If %>
        </a>
    <% end if %>
Avatar billede izemate Nybegynder
10. juni 2006 - 16:12 #9
tjah det virker bortset fra den kun udskriver enten "..." eller ingen comment

        <td width="491"><font face="verdana" size="1" color="#C2C2C2"><b>&nbsp;&nbsp; Nyeste indlæg</b>

       
<a href="/forum/forumthreads.asp?forumid=10" target="content"><i><b>test</b></i> |
       
        </a>
Det er fra den nyeste indlæg i html..
Avatar billede weis Nybegynder
10. juni 2006 - 16:16 #10
Hvilken form for felt er det i access? er det tekst eller nota?
Avatar billede izemate Nybegynder
10. juni 2006 - 16:17 #11
http://www.street-crew.dk/index.zip

Her kan du hente forum databasen + den side hvor det bliver udskrivet + databasen til login (brugernavn : test / adgangskode : test)
Avatar billede weis Nybegynder
10. juni 2006 - 16:29 #12
Prøv at bruge denne kode så:

<% tekst = rs("comment")   
If len(tekst) > 20 then
  Response.Write left((tekst),20) & "..."
else
  Response.Write tekst
end if %>
Avatar billede izemate Nybegynder
10. juni 2006 - 16:33 #13
YES nu virker det bare perfekt..

Rigtig mange tak weis.. du er en guttermand ;-)

Smider du lige et svar så du kan få point ?
Avatar billede weis Nybegynder
10. juni 2006 - 16:34 #14
Så får du da et svar ;-)
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