Har ett litet problem med mitt paging system. Det funkar felfritt och så men det visar en sida för mycket.
Ska förklara mig bättre...
När jag har loopat ut alla poster ur min databas och sedan vill ha stopp på 15 poster så [1] - 2 - 3 - 4 etc. kommer upp. Om jag då trycker på det sista numret (i detta fallet fyran) så är den sidan tom.
Såhär ser koden ut:
<%
Dim Conn, MySQL, iRecords, iPageSize, iPages, iPage, iStart, myArray, i, RecSet
MySQL = "SELECT COUNT(*) AS recordCount "
MySQL = MySQL & "FROM memb_gb where userID = " & Request.Querystring("id") & " "
Set RecSet = Conn.Execute(MySQL)
iRecords = RecSet("recordCount")
RecSet.Close
Set RecSet = Nothing
iPageSize = 15
iPages = int(iRecords / iPageSize) +1
iPage = Request.QueryString("pg")
If iPage = "" Or Not isNumeric(iPage) Then
iPage = 1
Else
iPage = int(iPage)
End If
iStart = iPage * iPageSize
iStart = iStart - iPageSize
MySQL = "SELECT * "
MySQL = MySQL & "FROM memb_gb where userID = " & Request.Querystring("id") & " "
MySQL = MySQL & "LIMIT " & iStart & " ," & iPageSize & " "
Set RecSet = Conn.Execute(MySQL)
Do Until RecSet.EOF%>
Loopar allt som ska loopas :)
<%RecSet.Movenext
Loop%>
<br>
<%MySQL = "SELECT * FROM memb_memb where ID = " & Request.Querystring("id") & " "
Set RecSet = Conn.Execute(MySQL)%>
<%
If iPages > 1 Then
For i = 1 To iPages
If i = iPage Then
Response.Write("<B>[" & i & "]</B>")
Else
Response.Write(" <A href=""?ID=" & RecSet("ID") & "&pg=" & i & """>")
Response.Write(i)
Response.Write("</A> ")
End If
next
End If
%>
Har dock ett annat problem som är onödigt att skapa ny topic för
Jag tänkte kolla av de senaste inloggade och skrev såhär:
<%
MySQL = "SELECT * FROM memb_memb order by senast_inloggad desc"
Set RecSet = Conn.Execute(MySQL)
For i = 1 to 5
If RecSet.EOF Then Exit For
RecSet("username")
RecSet.Movenext
Next
%>
Men jag får felet:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01C2)
Fel antal argument eller felaktig egenskapstilldelning.: 'RecSet'
varför plocka ut alla records när du endast behöver de fem senaste?
<%
MySQL = "SELECT * FROM memb_memb order by senast_inloggad desc LIMIT 0,5"
Set RecSet = Conn.Execute(MySQL)
While Not RecSet.EOF
Response.Write RecSet("username")
RecSet.Movenext
Wend
%>