17. februar 2007 - 23:38Der er
3 kommentarer og 1 løsning
Direkt elink til paging
jeg har en side hvor der er et paging system hvor der vises en post per side. Jeg skal dog også have mulighed for at kunne komme til samme side direkte, og stadig bevare paging systemet. Som Det er er lige nu er kaldet når man går ind på paging systemet: strSQL = "Select * from malerisamling ORDER BY efternavn;"
Jeg vil så på en eller anden måde kunne lave en where klausul for at fange den rigtige post, men stadig bevare den fulde paging. Altså ala: strSQL = "SELECT * FROM malerisamling where id = " & Request.QueryString("id") & ";"
NEdenunder er vist selve det paging system jeg bruger. Håber i kan hjælpe
If Request.QueryString("page") = "" Then iPageCurrent = 1 Else iPageCurrent = CInt(Request.QueryString("page")) End If
strSQL = "Select * from malerisamling ORDER BY efternavn;"
' Create recordset and set the page size Set rs = Server.CreateObject("ADODB.Recordset") rs.PageSize = iPageSize rs.CacheSize = iPageSize
' Open RS rs.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText
' Get the count of the pages using the given page size iPageCount = rs.PageCount
' If the request page falls outside the acceptable range, ' give them the closest match (1 or max) If iPageCurrent > iPageCount Then iPageCurrent = iPageCount If iPageCurrent < 1 Then iPageCurrent = 1
' Check page count to prevent bombing when zero results are returned! If iPageCount = 0 Then Response.Write "Der opstod desværre en fejl!" Else ' Move to the selected page rs.AbsolutePage = iPageCurrent iRecordsShown = 0 Do While iRecordsShown < iPageSize And Not rs.EOF
'''Alt visningskode fyres af.....
iRecordsShown = iRecordsShown + 1 ' Can't forget to move to the next record! rs.MoveNext Loop End If
Problemet er at jeg ikke ved hvor den post jeg vil ind på er i paging sættet. Paging sættet er over nogle kunstnere, og dette bliver "startet" når man trykker på kunstneren i en oversigt.
Men oppe i en topbar på siden kører der nogle randomudtag fra databasen med billeder fra de forskellige kunstnere. Når man trykker på et billede, fører den en til den kunstner der har lavet billedet. Dette er jo nemt nok, ved netop bare at sige Where id = request.querystring("id"), men så er problemet jo at pagingen forsvinder....
Kan du så ikke bare gennemløbe resultatet indtil du finder det id du leder efter. Mens du gennemløber resultatet kan du holde styr på hvilken side du er på, så kan du bruge dette indeks til at generere dine pagineringskontroller med - som du givetvis hele tiden har gjort.
Hvorvidt du skal gennemløbe resultatet eller bare vise en specifik side, kan du afgøre ud fra om det er page eller id der sendes med som parameter.
Jeg skal ikke udelukke at der findes en smartere måde at søge ind i resultatet (f.eks. find eller seek), men du kan evt. selv kigge på de to kommandoer på MSDN-library eller Google efter dem.
Jeg valgte at gøre det på en lidt anden måde, som jeg ikke lige ved hvorfor det skulle tage mig flere dage at komme i tanke om. Jag valgte simpelthen at køre et count på id'er under den id man er på, og det giver jo så hvad forrige side er. Gjorde det samme med fremad knappen, og lagde 2 til, så har man næste page værdi.
Men ellers tak for ideen
Synes godt om
Ny brugerNybegynder
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.