Asp ve Mysql İle Sayfalama
Web programlamada asp kullanıyor ve mysql ile işiniz oluyorsa bazı konularda access e göre kodlamalarda değişiklikler yapmanız gerekiyor. Bunlardan biride sayfalama yöntemi. Aşağıda bunun için bir örnek mevcut. Açıklamalar kodlar arasında sıkıştırıldı.
-
<%
-
Option Explicit
-
-
'Tanımlamalar yapılıyor
-
Dim Baglan, Rs
-
Dim Sayfa, SayfaMiktar, SayfaSayi
-
Dim ToplamKayit
-
Dim VTSunucu, VTIsmi, VTKullanici, VTParola
-
Dim i
-
'Sayı değeri kontrolü için bir fonksiyon
-
Function SayiKontrol(veri,deger)
-
if isNumeric(veri)=False then
-
SayiKontrol=deger
-
else
-
if veri<deger then
-
SayiKontrol=deger
-
else
-
SayiKontrol=veri
-
end if
-
end if
-
End Function
-
-
'Veritabanı ayarları
-
VTSunucu="localhost"
-
VTIsmi="test"
-
VTKullanici="root"
-
VTParola="12345678"
-
-
'Sayfalama ayarları
-
Sayfa = SayiKontrol(Request.QueryString("sayfa"),0)
-
SayfaMiktar = 10
-
Sayfa=Sayfa * SayfaMiktar
-
'Veritabanı bağlantısı
-
Set baglan = Server.CreateObject("ADODB.Connection")
-
baglan.Open("DRIVER={MYSQL ODBC 3.51 Driver}; Server="&VTSunucu&";Database="&VTIsmi&";UID="&VTKullanici&";Password="&VTParola&";")
-
-
'Toplam kayıt sayısı alınıyor.
-
Set Rs=baglan.execute("Select count(ID) as toplam from kayitlar")
-
if not Rs.eof then
-
ToplamKayit = cint(Rs("toplam"))
-
end if
-
Rs.Close()
-
-
'Kayıtlar sıralanıyor
-
Set Rs=baglan.execute("Select ID,Baslik from kayitlar Order By ID asc LIMIT " & Sayfa & ","& SayfaMiktar)
-
do while not Rs.eof
-
Response.Write(Rs("ID") & " - " & Rs("Baslik")&"<br>")
-
Rs.Movenext()
-
Loop
-
Rs.Close
-
-
'Sayfa miktarından az kayıt varsa sıralama kısmını gösterme
-
if SayfaMiktar<ToplamKayit then
-
i=0
-
SayfaSayi=0
-
Response.Write("<br>")
-
'Sayfalara bağlantı veriliyor.
-
Do while i<ToplamKayit
-
Response.Write("<a href=""mysql_siralama.asp?sayfa="&SayfaSayi&""">"&SayfaSayi+1&"</a> ")
-
SayfaSayi=SayfaSayi + 1
-
i=i+SayfaMiktar
-
Loop
-
end if
-
%>
Tags: asp