mysql absolutepage parametresine cevap veremez o yüzden sayfalama mantığın tamamıyla değişecek. ayrıca for döngüsü yerine de do while kullanacaksın. sayfa aralıklarını da sql koduna LIMIT ekleyerek halledeceksin. mysql'in sayfalamada ki artısı LIMIT fonksiyonudur. hızlı ve pratik. sana bir örnek vereceğim, gelişmiş bir sayfalama yöntemi. kendine uyarlayıp kullanabilirsin.
Alıntı
<%
Set rs=Bag.Execute("SELECT Count(id) as tpl FROM haberler")
Toplam=Cint(rs("tpl")) 'haber sayısını aldık
PageLen = 20 ' liste sayısı, her sayfada 20 adet görünecek
PageNo = Request.QueryString("S")
if PageNo = "" OR Not IsNumeric(PageNo) Then PageNo = 1
TotalRecord = Cint(rs("tpl"))
PageStart = ((PageLen*PageNo)-PageLen)
PageEnd = PageLen
If TotalRecord <= PageLen Then
TotalPage =1
ElseIf (TotalRecord Mod PageLen = 0) Then
TotalPage =(TotalRecord/PageLen)
Else
TotalPage =Int(TotalRecord/PageLen)+1
TotalPage = Cint(TotalPage)
End If
If Cint(Toplam) = 0 Then
intSayfaSayisi = 0
Else
intGecerliSayfa = PageNo
If intGecerliSayfa = "" OR IsNumeric(intGecerliSayfa) = False Then intGecerliSayfa = 1
intSayfaSayisi=TotalPage
End If
Set rs=Server.CreateObject("ADODB.Recordset")
sql="SELECT * FROM haberler ORDER BY id DESC LIMIT "&PageStart&" , "&PageEnd&"" ' listeleme sorgusu
rs.open sql,Bag,1,3
If Not rs.Eof Then
k=(PageNo * PageLen)-PageLen+1
Do While Not rs.Eof
%>
<%=rs("baslik")%> <br />
<%
k=k+1
rs.MoveNext : Loop
Else
%>
kayıt yok
<%
End If
rs.Close : Set rs=Nothing
%>
<div class="sayfa">
<%
Aralik = 2
intSayfaAltSiniri = intGecerliSayfa - Aralik
intSayfaUstSiniri = intGecerliSayfa + Aralik
intSolGrupSayisi = 1 + Aralik
intSagAltSinir = intSayfaSayisi - Aralik
If (intSayfaUstSiniri >intSayfaSayisi) Then
intSayfaAltSiniri = intSayfaSayisi - (2 * Aralik)
intSayfaUstSiniri = intSayfaSayisi
End If
If (intSayfaAltSiniri <= 0) Then
intSayfaAltSiniri = 1
intSayfaUstSiniri = intSayfaAltSiniri + (2 * Aralik)
If intSayfaUstSiniri >= intSayfaSayisi Then intSayfaUstSiniri = intSayfaSayisi
End If
If intSolGrupSayisi >= intSayfaAltSiniri Then intSolGrupSayisi = intSayfaAltSiniri - 1
If intSagAltSinir <= intSayfaUstSiniri Then intSagAltSinir = intSayfaUstSiniri + 1
If Cint(intGecerliSayfa) >1 Then
%>
<a href="Haberler.asp?S=1" title="İlk Sayfa">««</a>
<a href="Haberler.asp?S=<%=intGecerliSayfa-1%>" title="Önceki Sayfa">◄</a>
<%
End If
For i = 1 to Cint(intSolGrupSayisi)
If CInt(i) = (intGecerliSayfa) Then
Else
%>
<a href="Haberler.asp?S=<%=i%>" title="<%=i%>. Sayfa">
<%
End If
Response.Write i &"</a>"
Next
If (intSayfaAltSiniri - intSolGrupSayisi >1 ) Then Response.Write "<a href=""javascript:;"">. . .</a>"
For i = intSayfaAltSiniri to Cint(intSayfaUstSiniri)
If CInt(i) = CInt(intGecerliSayfa) Then
%>
<a href="javascript:;" title="<%=i%>. Sayfa" class="aktif"><%=i%></a>
<%
Else
%>
<a href="Haberler.asp?S=<%=i%>" title="<%=i%>. Sayfa"><%=i%></a>
<%
End If
Next
If (intSagAltSinir - intSayfaUstSiniri >1) Then Response.Write "<a href=""javascript:;"">. . .</a>"
For i = intSagAltSinir to Cint(intSayfaSayisi)
If CInt(i) = CInt(intGecerliSayfa) Then
%>
<a href="javascript:;" title="<%=i%>. Sayfa" class="aktif"><%=i%></a>
<%
Else
%>
<a href="Haberler.asp?S=<%=i%>" title="<%=i%>. Sayfa"><%=i%></a>
<%
End If
Next
If CInt(intGecerliSayfa)<>CInt(intSayfaSayisi) Then
%>
<a href="Haberler.asp?S=<%=intGecerliSayfa+1%>" title="Sonraki Sayfa">►</a>
<a href="Haberler.asp?S=<%=intSayfaSayisi%>" title="Son Sayfa">»»</a>
<%End If%>
</div>