Avatar billede kasper_14 Nybegynder
08. juni 2002 - 19:07 Der er 5 kommentarer og
1 løsning

Paging med alfabetet?

Hvor´n pager jeg ud fra første bogstav i fx en overskrift ? altså A - B - C - D - E - F osv
Avatar billede tmceu Praktikant
08. juni 2002 - 19:29 #1
Har du et ASP script med paging der skal rettes til eller ?
Avatar billede kasper_14 Nybegynder
08. juni 2002 - 19:32 #2
nej, kan godt finde ud af at page normalt, men ville godt lære med abc.. så håbede at der var en der havde det liggende....!
Avatar billede tmceu Praktikant
08. juni 2002 - 19:36 #3
Det tricky ved dette er, at du vil have en dynamisk pagesize og derfor kan du ikke anvende "standard" paging. Vis evt. det script du allerede har, så skal jeg forsøge at ændre det til det du ønsker - hvis altså koden ikke er alt for rodet :-)
Avatar billede medions Nybegynder
09. juni 2002 - 12:12 #4
Her er i alt fald hvordan du udskriver hele alfabetet.. sæt det ind i et pagingsystem.. det skulle være relativt nemt da det et i et array...
    For i = 65 To 90
        strAbc = Chr(i)
        Response.Write(strAbc & "<br>")
    Next

//>Rune
Avatar billede kasper_14 Nybegynder
10. juni 2002 - 18:56 #5
tmceu --> tak for det! min kode er taget fra activedeveloper.dk:
<html><head>
<title>Paging af et recordset</title>
</head><body>

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT LinkURL FROM Links"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/aspdigital/db/demo.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs("LinkURL") & "<br>"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> "
Next

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

Response.Write "&nbsp;"

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
%>

</body></html>
Avatar billede tmceu Praktikant
10. juni 2002 - 21:08 #6
Så skulle den være der - håber ikke der er nogle copy-paste fejl :-)

Prøv at gemme denne kode i en ny fil, blot for at teste. Vær opmærkom på, at den kun viser de bogstaver der findes i tabellen.

<%@ Language=VBScript %>
<html><head>
<title>Paging af et recordset</title>
</head><body>
<%

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/aspdigital/db/demo.mdb")

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.CursorLocation =  3
objConn.ConnectionString = strDSN

objConn.Open

Set objRS = Server.CreateObject("ADODB.RecordSet")

' Find dynamiske page størrelser
strSQL = "SELECT LEFT(LinkURL, 1), COUNT(*) FROM Links GROUP BY LEFT(LinkURL, 1)"

Set objRS = objConn.Execute(strSQL)

' Kopier page størrelser ind i et 2-dimensionelt array
MyArr = objRS.GetRows

' En offset variabel
intTemp = 1

intPage = Request("page")
If isNumeric(intPage) = False Or intPage <= 1 Then
    intPage = 1
Else
    ' Find startposition
    For i = 0 To (intPage -2)
        intTemp = intTemp + myArr(1, i)
    Next
End If

' Sæt den nuværende page størrelse
intPageSize = myArr(1, (intPage-1))

strSQL = "SELECT LinkURL FROM Links ORDER BY LinkURL"

Set objRS = objConn.Execute(strSQL)


If Not (objRS.BOF Or objRS.EOF) Then
    objRS.PageSize = intPageSize
   
    intRecCount = myArr(1, (intPage-1))
    objRS.AbsolutePosition = intTemp
   
    intPageCount = UBound(myArr, 2) + 1
     
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not objRS.EOF And intRecCount > 0
        Response.Write objRS("LinkURL") & "<br>"
    intRecCount = intRecCount - 1
    objRS.MoveNext
    Loop
End If
objRS.Close
Set objRS = Nothing

Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> "
Next

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

Response.Write "&nbsp;"

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

%>
</body></html>
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