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ı.

  1. <%

  2. Option Explicit

  3.  

  4. 'Tanımlamalar yapılıyor

  5. Dim Baglan, Rs

  6. Dim Sayfa, SayfaMiktar, SayfaSayi

  7. Dim ToplamKayit

  8. Dim VTSunucu, VTIsmi, VTKullanici, VTParola

  9. Dim i

  10. 'Sayı değeri kontrolü için bir fonksiyon

  11. Function SayiKontrol(veri,deger)

  12. if isNumeric(veri)=False then

  13. SayiKontrol=deger

  14. else

  15. if veri<deger then

  16. SayiKontrol=deger

  17. else

  18. SayiKontrol=veri

  19. end if

  20. end if

  21. End Function

  22.  

  23. 'Veritabanı ayarları

  24. VTSunucu="localhost"

  25. VTIsmi="test"

  26. VTKullanici="root"

  27. VTParola="12345678"

  28.  

  29. 'Sayfalama ayarları

  30. Sayfa = SayiKontrol(Request.QueryString("sayfa"),0)

  31. SayfaMiktar = 10

  32. Sayfa=Sayfa * SayfaMiktar

  33. 'Veritabanı bağlantısı

  34. Set baglan = Server.CreateObject("ADODB.Connection")

  35. baglan.Open("DRIVER={MYSQL ODBC 3.51 Driver}; Server="&VTSunucu&";Database="&VTIsmi&";UID="&VTKullanici&";Password="&VTParola&";")

  36.  

  37. 'Toplam kayıt sayısı alınıyor.

  38. Set Rs=baglan.execute("Select count(ID) as toplam from kayitlar")

  39. if not Rs.eof then

  40. ToplamKayit = cint(Rs("toplam"))

  41. end if

  42. Rs.Close()

  43.  

  44. 'Kayıtlar sıralanıyor

  45. Set Rs=baglan.execute("Select ID,Baslik from kayitlar Order By ID asc LIMIT " & Sayfa & ","& SayfaMiktar)

  46. do while not Rs.eof

  47. Response.Write(Rs("ID") & " - " & Rs("Baslik")&"<br>")

  48. Rs.Movenext()

  49. Loop

  50. Rs.Close

  51.  

  52. 'Sayfa miktarından az kayıt varsa sıralama kısmını gösterme

  53. if SayfaMiktar<ToplamKayit then

  54. i=0

  55. SayfaSayi=0

  56. Response.Write("<br>")

  57. 'Sayfalara bağlantı veriliyor.

  58. Do while i<ToplamKayit

  59. Response.Write("<a href=""mysql_siralama.asp?sayfa="&SayfaSayi&""">"&SayfaSayi+1&"</a> ")

  60. SayfaSayi=SayfaSayi + 1

  61. i=i+SayfaMiktar

  62. Loop

  63. end if

  64. %>

Tags:

Leave a Reply