Avatar billede andersasp Nybegynder
07. juli 2005 - 13:10 Der er 5 kommentarer og
1 løsning

Pageing virker ikke?

Hejsa eksperter!

Jeg har et script som skulle vise x antal poster på hver side, men det virker ikke og jeg her desværre helt blank i hvad der går galt??? her er min script:

'forinden åbner jeg clients
<%
Set Connwhatpages = Server.CreateObject("ADODB.Connection")
Connwhatpages.Open MM_dataconn_STRING

strSQL = "SELECT Count(*) as maxID FROM clients"
Set rsshow = Connwhatpages.Execute(strSQL)

start = request.querystring("page")
naeste25 = start+ logindata("Unumberprpage")
forrige25 = start- logindata("Unumberprpage")
clientRecordCount = Connwhatpages.Count
pageitems = logindata("Unumberprpage")
page = request("page")
if page = "" then page = 0
mySQLLIMIT = " TOP " & page*pageitems & ", " & pageitems
maxRecords = rsshow("maxID")
fromrecords = pageitems*page
torecords = pageitems*(page+1)
if maxRecords < torecords then
torecords = maxRecords
end if
response.write "<FONT color=maroon>Showing: " & fromrecords & "-" & torecords & "/" & maxRecords & "</font>"
rsshow.Close
%>

Dette er så lige inden mit loop:

DO WHILE NOT clients.EOF and clientRecordCount <> clientzoologindata("Unumberprpage")
if start > 0 then
  start = start - 1
else
  clientRecordCount = clientRecordCount + 1

###### x-antal date vist

clients.MoveNext
loop
Avatar billede ldanielsen Nybegynder
07. juli 2005 - 13:36 #1
Der er en meget smartere måde:

Dim Con, Com, Rec
Set Con = Server.CreateObject("ADODB.Connection")
Set Com = Server.CreateObject("ADODB.Command")
Set Rec = Server.CreateObject("ADODB.Recordset")

Con.Open MM_dataconn_STRING
Com.ActiveConnection = Con

Com.CommandText = "SELECT felt1, felt2 FROM Tabel ORDER BY Felt1"

Rec.PageSize = 10
Rec.Open Com, , 1, 1

Dim intPageCount, intPageNumber, i
intPageNumber = 1 ' eller hvilken side du vil have vist
intPageCount = Rec.PageCount
for i = 1 to intPageCount
  Response.Write(" - " & i & " - ")
next
Response.Write("<br>")

i = 0
if not Rec.BOF then
  Rec.AbsolutePage = intPageNumber
  do while Rec.AbsolutePage = intPageNumber
    Response.Write(Rec("Felt1") & "<br>")
    Rec.MoveNext
  loop
End If

Rec.Close
Con.Close

Set Con = Nothing
Set Rec = Nothing
Set Com = Nothing
Avatar billede andersasp Nybegynder
07. juli 2005 - 13:43 #2
Ok det ser fornuftigt ud! men hvordan får jeg det lige sat ind i mit script??

Jeg har allerde åbnet et recordset "clients" hvilket er det som skal loopes!
Avatar billede andersasp Nybegynder
07. juli 2005 - 14:10 #3
Ok jeg tror jeg har fattet det, hen hvordan laver man hyperlinks til den enkelte sider 1 2 3 4??
Avatar billede ldanielsen Nybegynder
07. juli 2005 - 14:40 #4
Hvi du nu siger at siden du ønsker komme med som en Querystring:

siden.asp?p=3

Skal altså give side 3

Så erstatter du linien

intPageNumber = 1 ' eller hvilken side du vil have vist

med

if Request.Querystring("p") = "" then
  intPageNumber = 1
else
  intPageNumber = Cint(Request.Querystring("p"))
end if


og
Response.Write(" - " & i & " - ")

erstattes med

Response.Write(" - <a href=""?p=" & i & """>" & i & "</a> - ")


Så skulle den være der
Avatar billede andersasp Nybegynder
07. juli 2005 - 14:55 #5
Kanon så har jeg den!! tusinde tak for hjælpen - koden virker perfekt!!! smider du lige et svar!!
Avatar billede ldanielsen Nybegynder
08. juli 2005 - 00:51 #6
Svar

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