Klasik Asp Mysql Sayfalama Yardım.
-
Merhaba arkadaşlar.
Sitemin veritabanını .mdb den MySQL e geçiriyorum.
Asp ile MySQL'den verileri her sayfada 10 tane olacak şekilde listeleme yaptırttım.
Birçok yerde arama yaptırttım ve sonuçlar buldum fakat bunları uygulayamadım.
En son bir tanesini çalıştırmayı başardım fakat sayfa navigasyon kısmına ileri, geri ve bulunduğum sayfayı işaretleme gibi özellikler ekleyemedim.
Benimkisi:
İstediğim Tahribat'taki gibi şu şekilde:
Kullandığım şuu kodu düzenleyebilriseniz çok sevinirim:
<%
degisken = Request.QueryString
gelenlink_bol = split(degisken, "/")
uzanti_bol = split(gelenlink_bol(4), "-")
If gelenlink_bol(3) = "sehirler" then
%><%
sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=xxxxxxx;"_
& "DATABASE=xxxxxxxx;"_
& "UID=xxxxxx;PWD=xxxxxxx; OPTION=35;"
Set connCount = Server.Createobject("ADODB.Connection")
connCount.open sDatabaseConnection
Function excess(argValue)
if not (int(argValue) = argValue) then argValue = int(argValue)+1
excess = argValue
end Function
pageSize = 5
if(len(Request.QueryString("pagina"))=0)then
currentPage = 1
else
currentPage = CInt(Request.QueryString("pagina"))
end if
q1 = "SELECT COUNT(*) FROM Tablo where sehirler="&uzanti_bol(0)&" "
q2 = "SELECT * FROM Tablo where sehirler="&uzanti_bol(0)&" ORDER BY idno ASC LIMIT " & (currentPage - 1) * pageSize & ", " & pageSize
recordCount = connCount.Execute(q1).Fields(0)Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open q2, connCount
If Not RS.eof Then
Do while not RS.eof
%>
<%response.write RS("sehir")%><br /><br />
<%
RS.movenext()
Loop
%><%
pageCount = excess(clng(recordCount) / clng(pageSize))for i = 1 to pageCount
Response.Write("<a href=""?test=&pagina=" & i & """>" & i & "</a> ")
next
end if
RS.close
set RS = nothing
connCount.close
set connCount = nothing
%><%
else
end if
%> -
Üstte verdiğim kodu ileri-geri ve bulunduğum sayfayı [] gibi köşeli paranteze alacak şekilde ayarlayabilecek bi arkadaş var mı acaba?
mavi-ay tarafından 20/Nis/14 00:39 tarihinde düzenlenmiştir -
jdizayn blog scriptini indir hacım, yonetim klasörü içinde yada şöyle söyliyim, yazıların yönetim panelinde listelendiği yerde 10 numara bi sayfalama kodu var onu kulllan çok temiz :D
Köşeli parantez dediğin olayı, sayfa sayılarının döngü içindeki değişkenin yanına koycaksın.
örn.
<%for i =0 to 50 %>
<a href="<%=i%>">[<%=i%>]</a>
<%next%>
yada kod içinde kafan karışıyosa
"[" & i & "]" seklinde kullanabilirsin.
-
for i = 1 to pageCount
if i=1 and currentPage>1 then 'İlk yazdırma anında ve gelen sayfa 1'den büyükse [<<] yazsın dedik
Response.Write(" currentPage-1 & """>"[<<] " ")
end if
if i=currentPage then 'Yazdırılan sayfa bulunduğumuz sayfa ise [] içinde yazdıralım
Response.Write(""[" & i & "]" ")
else 'değilse nomral yazdırsın
Response.Write("" & i & " ")
end if
if i=pageCount and currentPage
Response.Write("currentPage+1 & """>"[>>] " ")
end if
next
Bu arada currentPage değerini bulunduğumuz sayfa olarak algıladım değilse orayı düzeltirsin....
Bu şekilde olması lazım denemedim varsa ufak tefek tırnak işeretlerine bağlı tür hataları veya yazdırma hataları vs vardır... Dene olmazsa bakalım... Kolay gelsin...
_PesimisT_ tarafından 20/Nis/14 11:23 tarihinde düzenlenmiştir -
Kodları deniyorum arkadaşlar.
Vakit ayırıp cevap yazdığınız için teşekkür ederim.
-
Arşivimden bulunca buraya eklerin
-
Tekrardan konuyu uplamış gibi oluyorum ama geri bildirimde bulunmak için yazıyorum şuan.
_PesimisT_ hocanın verdiği kodlar tam olarak istediğim gibi çalışmıştır.
Kendisinin de dediği gibi sadece tırnaklarda eksik vardı, onları da düzeltince güzelce çalıştı :)
Tüm arkadaşlara teşekkür ederim.