Avatar billede Lund Praktikant
23. februar 2003 - 14:27 Der er 4 kommentarer og
1 løsning

Paging

Hey..!
Jeg har forsøgt med nedstående kode at lave paging på, så der kun vises 15 poster pr. side, men det vil ikke som jeg vil. Kan ikke få det til at virke, har forsøgte med forskellige måder..

Er der en som vil hjælpe med at lav paging på denne kode, jeg giver 100 point for det.


<%
if side = "fonts" then %>

<%
str_sort = request.querystring("sort")
bo_start = true
    do while len(str_sort) > 0
        if bo_start = true then
        str_sql1 = " where left(navn,1) = '" & left(str_sort, 1) & "'"
        bo_start = false
        else
        str_sql1 = str_sql1 & " or left(Navn,1) = '" & left(str_sort, 1) & "'"
        end if
    str_sort = right(str_sort, len(str_sort) - 1)
    loop

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("FontsData.mdb")
str_sql2 = "SELECT * FROM fonts" & str_sql1 & "ORDER BY Navn"
Set rs = Conn.Execute (str_sql2)
%>


<H5>Fonts <% Response.Write Request.Querystring("sort") %></H5>

<%
if rs.EOF then
%>
Der er desværre endnu ikke tilføjet nogle fonts som starter med <b><% Response.Write Request.Querystring("sort") %></b>
<%
else
%>
<DIV ALIGN="center">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">

<%
Counter = 1
do until rs.eof
IF Counter = 4 Then
Counter = 1
End if
%>
<TD width="250" HEIGHT="110" align="center">

<!--#include file="fonts.asp"-->

</TD>
<%
IF Counter = 3 then
%>

<% response.write "</tr><tr>"
end if
%>

<%

Counter = Counter + 1
rs.movenext
loop
%>
</TABLE>
</DIV>
&nbsp;
<%
end if
end if
%>
Avatar billede aspbuilder Nybegynder
23. februar 2003 - 14:29 #1
Avatar billede Lund Praktikant
23. februar 2003 - 14:31 #2
Den har jeg læst og prøvet, men kunne ikke få den til at virke. :(
Avatar billede mik.mak Nybegynder
23. februar 2003 - 14:35 #3
Prøv dette eksempel fra MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnserv/html/server05222000.asp

Den skulle gerne virke og den er også rimelig hurtig.

/michael
Avatar billede eagleeye Praktikant
23. februar 2003 - 14:50 #4
Prøv med dette styk kode, det er koden fra activedeveloper som udgangpunkt, jeg kar lagt lidt kommentar ind.:

<%
if side = "fonts" then %>

<%
'**Paging part start
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
'**Paging part end
%>

<%
str_sort = request.querystring("sort")
bo_start = true
    do while len(str_sort) > 0
        if bo_start = true then
        str_sql1 = " where left(navn,1) = '" & left(str_sort, 1) & "'"
        bo_start = false
        else
        str_sql1 = str_sql1 & " or left(Navn,1) = '" & left(str_sort, 1) & "'"
        end if
    str_sort = right(str_sort, len(str_sort) - 1)
    loop

Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("FontsData.mdb")
str_sql2 = "SELECT * FROM fonts" & str_sql1 & "ORDER BY Navn"

'** Pagning ændre Set rs=... til rs.Open
'Set rs = Conn.Execute (str_sql2)
rs.Open str_sql2, Conn, 1
%>
<H5>Fonts <% Response.Write Request.Querystring("sort") %></H5>
<%
if rs.EOF then
%>
Der er desværre endnu ikke tilføjet nogle fonts som starter med <b><% Response.Write Request.Querystring("sort") %></b>
<%
else
'** Paging part start
  rs.PageSize = 15
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
'** Paging part end
%>
<DIV ALIGN="center">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">

<%
Counter = 1
'**paging ændre do util linien:
'do until rs.eof
Do While Not rs.EOF And intRecCount > 0
IF Counter = 4 Then
Counter = 1
End if
%>
<TD width="250" HEIGHT="110" align="center">

<!--#include file="fonts.asp"-->

</TD>
<%
IF Counter = 3 then
%>

<% response.write "</tr><tr>"
end if
%>

<%

Counter = Counter + 1
'**Paging part start
intRecCount = intRecCount - 1
'**Paging part end
rs.movenext
loop
%>
</TABLE>
<%'**Paging part start
%>
<table><tr><td>Gå til side :
<%
For intNum = 1 To intPageCount
    Response.Write "<a href=?page=" & intNum & "&sort=" & request.querystring("sort") & ">" & intNum & "</a> "
Next

Response.write "</td>/<tr><tr><td>"

If Clng(intPage) > 1 Then
    Response.Write "<a href=?page=" & intPage - 1 & "&sort=" & request.querystring("sort") & ">Forrige</a>"
Else
    Response.Write "Forrige"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=?page=" & intPage + 1 & "&sort=" & request.querystring("sort") & ">Næste</a> "
Else
    Response.Write "Næste"
End If
Reponse.write "</td></tr></table>"
'**Paging part end
%>

</DIV>
&nbsp;
<%
end if
end if
%>
Avatar billede Lund Praktikant
23. februar 2003 - 14:59 #5
Det virkede .. mange tak :))
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