Avatar billede easysoft_studios Nybegynder
17. juni 2002 - 23:49 Der er 8 kommentarer og
1 løsning

vise 10 entries ad gangen

Jeg har denne her kode:

        <%
            strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ForumID = " & Request("ForumID") & ")"
            strSQL = strSQL & " AND (OrgThread = True) ORDER BY ID DESC"
            Set rs = myConn.Execute(strSQL)
           
            If Not (rs.BOF Or rs.EOF) Then
                Do While Not rs.EOF
                    strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE)"
                    Set recordCount = myConn.Execute(strSQL)
        %>
'indsæt dataerne her
        <%
        rs.MoveNext
    Loop
End If
myConn.Close
Set myConn = Nothing


Hvordan laver jeg det om, sådan at der kun vises 10 rækker fra tabelen ad gangen?
Avatar billede eagleeye Praktikant
17. juni 2002 - 23:53 #1
Det hedder paging:


Jeg kan prøve at give lidt input.

Du har sikkert din egen SQL-sætning som du bruger til at søge med så den udskrifter du bare den fra ekeemplet:
strSQL = "SELECT LinkURL FROM Links"
med dig egen:
strSQL = DIN SSQL SÆTNING


Så angiver du hvor mange du vil havde på hver side i linier:
    rs.PageSize = 10
Du ville gerne havde 30 pr side..
    rs.PageSize = 30



Ud skrivning af søge resultet skal gøres inde i det loop der er:
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs("LinkURL") & "<br>"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop

Du har sikkert et tilsvarne loop som du udskriver søgeresultatet i idag så du udskirve denne linie:
        Response.Write rs("LinkURL") & "<br>"
Men alle de linier du måtte hvade behov for...



Dette kode laver en liste i bunde med Gå til side 1 2 3 4 osv:
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> "
Next



Dette kode lave en links til forrige side via truk på <<:
Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=paging.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If



Dette kode lave en links til næste side via tryk på >>:
If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=paging.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If


Jeg håber det giver lidt ekstra hjælp ellers så bare spørg igen.
Avatar billede eagleeye Praktikant
17. juni 2002 - 23:54 #2
Avatar billede easysoft_studios Nybegynder
18. juni 2002 - 00:00 #3
det var den jeg lige prøvede... men kunne ikke få skidtet til at virke, pga af at den bruger et ADODB.RecordSet og det har jeg problemer med at lave min nuværende SQL-sætning om til :(
Kan du ikke vise mig hvordan fa*** jeg skal skrive det om?
Avatar billede eagleeye Praktikant
18. juni 2002 - 00:03 #4
er det MySQL  Eller MSSQL?
Avatar billede eagleeye Praktikant
18. juni 2002 - 00:03 #5
eller access?
Avatar billede easysoft_studios Nybegynder
18. juni 2002 - 00:05 #6
access
Avatar billede eagleeye Praktikant
18. juni 2002 - 00:07 #7
i stedet for denne linie:
Set rs = myConn.Execute(strSQL)

Skal du hvade:
rs.Open strSQL, myConn, 1

Og hvis du ikke har det så skal du hvade denne linie i toppen:
Set rs = Server.CreateObject("ADODB.RecordSet")
Avatar billede easysoft_studios Nybegynder
18. juni 2002 - 00:09 #8
nu virker sætningen ihvertfald... prøver at putte resten ind, vender snart tilbage :)
Avatar billede easysoft_studios Nybegynder
18. juni 2002 - 00:16 #9
nice... 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