Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Sayfalamada sıra numarası vermek

Konu, 'ASP' kısmında Hasceviz tarafından paylaşıldı.

  1. Hasceviz

    Hasceviz Üye

    Kayıt:
    25 Şubat 2007
    Mesajlar:
    221
    Beğenilen Mesajlar:
    0
    <!-- #include file="include/yol.asp" -->
    <%
    Set Rs = Server.CreateObject("ADODB.Recordset")
    set Conn=server.Createobject("adodb.connection")

    path = "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath(""&dbase&"") & ";"
    conn.open path
    %>
    <%
    SQL = "SELECT * FROM uyeler ORDER BY id DESC"
    Rs.Open SQL, Conn, 1, 3

    if not Rs.eof then
    Rs.PageSize = 2
    If Request.QueryString("sayfano") <> "" Then
    Sayfa = CInt(Request.QueryString("sayfano"))
    Else
    Sayfa = 1
    End If
    Rs.AbsolutePage = Sayfa
    sira=0
    Do While Not Rs.EOF And sira<Rs.PageSize

    isim=Rs("kulladi")
    tarih=Rs("tarih")
    response.write "Sıra : " & sira+1 & "&nbsp;&nbsp;&nbsp; " & "İsim : " & isim & "<br>"
    sira=sira+1

    Rs.movenext
    loop
    If Rs.PageCount > 0 Then
    For sayfano=1 To Rs.PageCount
    Response.Write "<a href=""?sayfano=" & sayfano & """>" & sayfano & "</a> "
    Next
    End If
    End if
    %>

    Kodların burada fazla yer tutmaması için html kodlarından arındırılmıştır.
    Bu resimdeki gibi yapmak olasımı.

    [​IMG]
     
  2. CodeMania

    CodeMania Müslüm Yıldırım

    Kayıt:
    4 Ekim 2004
    Mesajlar:
    1,490
    Beğenilen Mesajlar:
    1
    Meslek:
    Programcı
    Şehir:
    34330
    öncelikle lütfen söylediklerimi yanlış algılamayın. sayfalama stiliniz bence cok yanlış olmuş bu şekilde istediğiniz zor. kodu biraz değiştirebiliyorsanız size bir kaç öneri sunabilirim.

    kayıtları cekerken neden dowile? bence for next daha uygun extradan bi şart sunmak zorunda bırakmayacak

    sayfa numarasını alıyorsunuz querystring oalrak veriyorsunuz buna bağlı oalrakta sayfalama yapıyorsunuz cok guzel. peki sıralamayıda aynı şekilde yapmayı denedinizmi. su anki kodunuzu

    PHP:
    <%
    SQL "SELECT * FROM uyeler ORDER BY id DESC" 
    Rs.Open SQLconn13

    if not Rs.eof then
    Rs
    .PageSize 2
    If Request.QueryString("sirano") <> "" Then 
    Sira 
    CInt(Request.QueryString("sirano"))
    Else
    Sira 0
    End 
    if
    If 
    Request.QueryString("sayfano") <> "" Then 
    Sayfa 
    CInt(Request.QueryString("sayfano"))
    Else 
    Sayfa 1
    End 
    If 
    Rs.AbsolutePage Sayfa

    For 1 To rs.pagesize
    isim
    =Rs("kulladi")
    tarih=Rs("tarih")
    response.write "Sıra : " sira+"&nbsp;&nbsp;&nbsp; " "İsim : " isim "<br>"
    sira=sira+1
    Rs
    .movenext
    next
    If Rs.PageCount 0 Then 
    For sayfano=1 To Rs.PageCount
    Response
    .Write "<a href=""?sayfano=" sayfano "&sirano="sirano  &""">" sayfano "</a> "
    For 0 To  sayfano
    sirano 
    2
    Next
    Next 
    End 
    If 
    End if
    %>
    olarak değiştirirseniz istediğiniz sonuca ulaşmış olaşırsınız (kodu denemedim).

    saygılar
     
    Son düzenleme yönetici tarafından yapıldı: 5 Temmuz 2008
  3. CodeMania

    CodeMania Müslüm Yıldırım

    Kayıt:
    4 Ekim 2004
    Mesajlar:
    1,490
    Beğenilen Mesajlar:
    1
    Meslek:
    Programcı
    Şehir:
    34330
    son for dongusundeki x 2 ibaresi birsayfada bulanack kayıt sayısını belirtir aslında.
    2 ile çarpmak yerine rs.pagesize ile çarpmak daha doğru olacaktır.
     
  4. Hasceviz

    Hasceviz Üye

    Kayıt:
    25 Şubat 2007
    Mesajlar:
    221
    Beğenilen Mesajlar:
    0
    CodeMania çok sağolasın senin kodları denedim son sayla linkine tıklayınca bu hatayı
    veriyor.

    Fakat benim esas kodlarda sadece diğer sayfa linkine basınca sıra numarası birle başladığından, onları bir kenara bırakıp, burada verdiğim kodları deneyerek bir şeyler yapmaya çalıştım ama iyice karıştırdım ve işin içinden çıkamaz hale geldim.
    Senden rica etsem eğer mümkün ise ben dosyayı bir yere yüklesem indirip bakabilirmisin.
    Tekrar sağolasın.
     
  5. CodeMania

    CodeMania Müslüm Yıldırım

    Kayıt:
    4 Ekim 2004
    Mesajlar:
    1,490
    Beğenilen Mesajlar:
    1
    Meslek:
    Programcı
    Şehir:
    34330
    ekteki dosyayı hazırladım bende sorunsuz çalıştı.
     
  6. Hasceviz

    Hasceviz Üye

    Kayıt:
    25 Şubat 2007
    Mesajlar:
    221
    Beğenilen Mesajlar:
    0
    Sayın CodeMania,
    db.mdb e 1 kayıt daha girip denermisiniz lütfen hata verecekmi ben bir kayıt girdim sayfa 4 linki oluşturdu fakat tıklayınca aynı hayatı verdi
     
  7. demo

    demo Aktif Üye

    Kayıt:
    28 Eylül 2006
    Mesajlar:
    372
    Beğenilen Mesajlar:
    0
    Meslek:
    Çalış(a)mıyor
    Şehir:
    34770
    CodeMania arkadaşımızın örneğine aynı yere kırmızı renkli satırı direk eklerseniz aldığınız hata çözülecektir.
    Mavi renkli satırları ekleyerekte kodları azaltmanız mümkün olacaktır (Düzenlenmiş örneği direk kullanabilirsiniz).
    Kod:
    <%
    set Conn=server.Createobject("adodb.connection")
    conn.open("provider=microsoft.jet.oledb.4.0;data source=" & Server.Mappath("db.mdb") & ";")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    SQL = "SELECT * FROM uyeler ORDER BY id DESC;"
    Rs.Open SQL, conn, 1, 3
    if not Rs.eof then
    Rs.PageSize = 2
    If Request.QueryString("sayfano") <> "" Then 
    Sayfa = CInt(Request.QueryString("sayfano"))
    Else 
    Sayfa = 1
    End If 
    Rs.AbsolutePage = Sayfa
    [COLOR=blue]if Sayfa > 1 then
    sira = (Sayfa - 1) * Rs.PageSize
    else
    sira = 0
    end if
    For i = 1 To rs.pagesize
    if rs.eof then exit for
    isim=Rs("kulladi")
    tarih=Rs("tarih")
    response.write "Sıra : " & sira+1 & "&nbsp;&nbsp;&nbsp; " & "İsim : " & isim & "<br>"
    sira=sira+1
    Rs.movenext
    next
    If Rs.PageCount > 0 Then 
    For sayfano = 1 To Rs.PageCount
    Response.Write "<a href=""?sayfano=" & sayfano & """>" & sayfano & "</a> "
    Next 
    End If 
    End if
    %>
     
  8. CodeMania

    CodeMania Müslüm Yıldırım

    Kayıt:
    4 Ekim 2004
    Mesajlar:
    1,490
    Beğenilen Mesajlar:
    1
    Meslek:
    Programcı
    Şehir:
    34330
    evet ornekle fazla ugrasmadığımdan dongu cıkışını eklememişim. @demo arkadaşımız gerekli kodu (if rs.eof then exit for)vermiş.
     
  9. Hasceviz

    Hasceviz Üye

    Kayıt:
    25 Şubat 2007
    Mesajlar:
    221
    Beğenilen Mesajlar:
    0
    Sayın CodeMania ve demo,

    önceki mesajımda da belirtiğim gibi benim kodlar farklı idi verdiğim kodla işin nasıl yapılacağı mantığını öğrenmek istiyordum.
    Sizin bilgiler ile ne yapmam gereğini öğrenerek kendi kodlarıma uyguladım.

    Teşekkürler sizlere.