• 31-07-2010, 17:24:53
    #1
    Arkadaşlar Hani Şu Sitelerin Altlarında oluyor yaa gogledede var r10 dada

    prev 1 2 3 4 5 6 7 8 9 10 last gibi yapmak istiyorum 1 sayfada 10 tane listelicek sonra 2. ye geçecek nasıl yaparım yardım edene +rep veririm
  • 31-07-2010, 17:33:04
    #2
    Üyeliği durduruldu
    Böyle bir sayfalama fonksiyonu yapmıştım kendime zamanında belki işini görür.
    ilk olarak örneğin default.asp'nin sayfalama kısmına şu kodu ;

    <%=Sayfalama("Default.asp?")%>

    sonra varsa fonksiyon.asp onun içinede alta verdiğim kodları ekleyip tek bir komutla sayfalama yapabilrsin.


    <%
    Function Sayfalama(STR)
    If SayfaSayisi > 1 Then 
    If Sayfa = 1 Then
    Else
        Yazi = Yazi &"<font class='SayfaYazi'><a href='"&  STR &"Sayfa=1'><< </a>&nbsp;<a href='"&  STR &"Sayfa="& Sayfa-1 &"'>< </a>&nbsp;"
    End If
    If Sayfa+2 > SayfaSayisi Then
    strOrta = SayfaSayisi 
    Elseif SayfaSayisi=0 Then
    SayfaSayisi=1
    Else
    strOrta = Sayfa+2
    End If 
    if Sayfa < 2 Then
    strOrtada = 1
    Else
    strOrtada = Sayfa-2
    End If
    For Listele = strOrtada To strOrta
        strListele = Listele
    if Listele > 0 then
    if Listele = Sayfa Then
        Yazi = Yazi &"<font class=SayfaYaz>"& strListele &"</font>&nbsp;"
    Else
        Yazi = Yazi&"<font class='SayfaYazi'><a href='"&  STR &"Sayfa="& Listele  &"'>"&strListele&"</a>&nbsp;"
    End If 
    End If 
    Next
    If Sayfa = SayfaSayisi Or SayfaSayisi = 0 Then
    Else
        Yazi=Yazi&"<font class='SayfaYazi'><a href='"& STR  &"Sayfa="& Sayfa + 1 &"'>></a> <a  href='"& STR &"Sayfa="& SayfaSayisi &"'>  >></a>"
    End If
        Yazi = Yazi &"<br>"& Sayfa &" / "& SayfaSayisi 
    
    If Site_Siralama = 1 Then
    '######################## -  LİSTELE - ########################
        Yazi=Yazi&"- <select style='width:50px;font-size:10px'  class=SayfaYaz onchange=""location =  this.options[this.selectedIndex].value;"">"
    For Git = 1 To SayfaSayisi
    If Git  = Sayfa Then strSecim = "selected" Else strSecim = "" End If
        Yazi=Yazi&"<option "& strSecim &" value='"& STR  &"Sayfa="& Git  &"'>"& Git  &"</option>"
    Next
        Yazi=Yazi&"</select>"
    End If
    Sayfalama = Yazi
    End IF
    End Function
    %>
  • 31-07-2010, 17:39:59
    #3
    ben bunu direk bir function.asp açsam içine yapıştırsam sizce çalışacakmıdır ? yani hata olur mu
  • 31-07-2010, 17:43:33
    #4
    Üyeliği durduruldu
    Tam olarak değil ASP bilginiz yoksa zor olacaktır sizin için ben sadece örnek verdim gerisi size kalmış .
  • 31-07-2010, 17:49:50
    #5
    hmm Teşekkürler Repinizi Verdim
  • 01-08-2010, 01:10:10
    #6
    Üyeliği durduruldu
    if else ile yapabilirsin. Sayfalama linklerindeki querystring adına göre yapacaksın. Mesela, linkin default.asp?sayfa=2 gibi geliyor diyelim. Burada:

    if request.querystring("sayfa")="" or request.querystring("sayfa")="1" then
    response.write "<< Önceki" ' Burda eğer ?sayfa değeri boş ya da 1 ise, Önceki sayfaya link vermiyoruz.
    else 'eğer 2 ve üzeri ise
    response.write "<a href=?sayfa="&request.querystring("sayfa")-1&"><< Önceki</a>" ' Burada ise varolan sayfadan (3, 4, 5, 6 gibi) 1 çıkarıyoruz ve önceki sayfayı buluyoruz.
    end if

    Sonraki Sayfada ise, Önce toplam kaç sayfa olduğunu bulmak lazım. Bunu sayfalama kodunun içerisinde zaten belirtirsin. Orayı yapamazsan, tabloya tekrar bağlanıp kaç adet veri olduğunu bulacaksın (rs.recordcount ile), sonra bu bulduğun rakamı, bir sayfada kaç ddet veri listelenmesini istiyorsan ona böleceksin. Bunu zaten değişkene atıyorsun.

    Kactane = 5 gibi (1 sayfada 5 tane listele. Değişkenimiz Kactane olsun.) Burada,

    toplamveri = rs.recordcount
    toplamsayfa = toplamveri/kactane 'ile toplam sayfayı bulduk ve,

    if request.querystring("sayfa")=toplamsayfa then 'eğer en son sayfada ise sonraki sayfaya link vermeyeceğız.
    response.write "Sonraki Sayfa >>"
    else 'değilse
    response.write "<a href="&request.querystring("sayfa")+1&">Sonraki Sayfa >></a>"
    end if

    kodları denemedim fakat çalışması lazım (: