Şimdi Ara

Yardım : Asp de sayfalama hatası

Bu Konudaki Kullanıcılar:
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
313
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar...
    bir thumbnail (ufak resim) sayfam var ve elimde 103 tane resim var.bu resimleri dosya adlarını veritabanına kaydettim isimlerini etiketi içinde recorset aracaılığıyla çağırıp görüntülüyorum fakat 103 resmin bir sayfada görüntülenmesini istemyiorum.resimlerin sayfalanmasını istiyorum şu şekilde:
    bir sayfada en fazla 6 satır ve her satır da 7 sütun olmak ve her sütunda bir resim olmak üzere 6 x 7 = 42 tane resim görüntülemek istiyorum.(satırları <tr> ve sütunları da <td> olarak düşünün)

    1 - şimdi kodları yazayım,önce rutin ifadeler :

    <%
    .....
    tüm bağlantıların sağlandığını farzedelim
    ......
    ......

    PicLineCount = 6

    rsData.Pagesize = PicLineCount

    shf = Request.QueryString("shf")
    If shf = "" Then
    shf = 1
    Else
    shf = cint(shf)
    End If

    CountPage = rsData.PageCount

    If shf > CountPage Then shf = CountPage
    If shf < 1 Then shf = 1
    If CountPage = 0 Then
    Response.Write "Belirtilen alanda resim bulunmamaktadýr."
    rsData.AbsolutePage = shf
    End If

    %>


    2- resimleri normalde veritbanından şu şekilde çağırıyorum:

    <table...>
    ....

    .....
    <%For i = 1 To LineCount %> 'LineCount değişkeni; rsData.RecordCount / 7 şeklinde elde edilir yani,toplam resim sayısını bir satır daki resim ysaısna bölerek toplam satır(<tr>) 'sayısnı buluyoruz.
    <tr>
    <% For j=1 To 7 %>
    <td bgcolor="EAEAEA"><img src="<%=server.MapPath("/fotographpage/pics/"& rsData("PicID") &"s.jpg")%>"> </td>
    <% rsData.MoveNext
    Next %>
    </tr>
    <% Next %>

    .....
    .....

    </table>


    3-Burası da sayfalamayı yazdırdığım kısım:

    <% If rsData.RecordCount > CountPage Then
    x=1
    Do While x < CountPage
    If shf = x Then
    response.Write(x)
    Else
    Response.Write("<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=1594364&url=&chr(34)&"index.asp?shf="&x&chr(34)&" data-href="&chr(34)&"index.asp?shf="&x&chr(34)&">"&x&"</a>")
    End If
    x=x+1
    Loop
    End If
    %>


    dökümanı kaydediyoum bir de ne göreyim,sayfalamayı yazdırdığım kısımda : "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17" tane kayıt.

    haluki böyle olmaması lazımdı her sayfada 42 resim görüntülemek istiyordum,elimde de 103 resim vardı 42 x 3 = 126 > 103 şeklindeki ufak hesapla gösterilmesi gereken kayıt sayısı "1 2 3" şeklinde olmalıydı.
    bir diğer hata da yukarıdak gibi listelenmiş toplam 17 sayfa sayısının hangisine basarsam basayım ilk bir şey değişmiyor. bu nepçim sayfalandırma yahu?

    acile yardıma ihtiyacım var ,şimdiden teşekkür eder saygılarımı sunarım.



    _____________________________




  • dc.frost verdiğin linkteki kodalrla karşılaştırdım,mantık ve dizilim açısından pek bir fark yok.
    fakat ben biraz daha uğraştım kodlardaki birtakım yanlışları farkedip düzelttim ve elle tutulur bir sonuç aldım:

    şöyle ki :

    If CountPage = 0 Then
    Response.Write "Belirtilen alanda resim bulunmamaktadýr."
    rsData.AbsolutePage = shf
    End If

    kısmının aslında şu şekilde olması gerekiyordu ve ben de bu şekilde düzelttim.

    If CountPage = 0 Then
    Response.Write "Belirtilen alanda resim bulunmamaktadýr."
    Else
    rsData.AbsolutePage = shf
    End If

    Sonra:
    <%For i = 1 To LineCount %> 'LineCount değişkeni; rsData.RecordCount / 7 şeklinde elde edilir yani,toplam resim sayısını bir satır daki resim ysaısna bölerek toplam satır(<tr>) 'sayısnı buluyoruz.
    ....
    ....
    ....
    <% Next %>

    kısmını da

    <%For i = 1 To PicLineCount %>
    ....
    ....
    ....
    <% Next %>

    olarak değiştirdim.

    ve son olarak ta :

    x=1
    Do While x < CountPage
    ...
    ...
    ...
    Loop

    kısmını

    x=1
    Do While Not x > CountPage
    ...
    ...
    ...
    Loop

    olarak değiştirdim.

    sonuç istediğim gibi oldu.

    Sayafalanmanın yazdırııldığı kısımda " 1 2 3 " kayıt gördüm.doğrusu da bu şekildeydi.
    Fakat bu kez de 1 ve 2 sayfalar sorunsuz olarak görüntülenirken
    3. sayfada şu hatayı veriyordu:

    Error Type:
    (0x80020009)
    Exception occurred.
    /fotographpage/index.asp, line 119


    line 118 : <% For j=1 To 7 %>
    line 119 : <td bgcolor="EAEAEA"><img src="<%=server.MapPath("/fotographpage/pics/"& rsData("PicID") &"s.jpg")%>"> </td>
    line 120 : <% rsData.MoveNext
    line 121 : Next %>


    bu sorunun üstesinden nasıl gelebilirim ?
    _____________________________




  • Açıkcası yapmak istediğine yabancı kaldım biraz.
    Yapmak istediğin Veritabanından kayıtları sıralayarak sayfalamak mı ?
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.