Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
313
Tıklama
0
Öne Çıkarma
Yardım : Asp de sayfalama hatası
J
21 yıl
Onbaşı
Konu Sahibi

Merhabalar...
bir thumbnail (ufak resim) sayfam var ve elimde 103 tane resim var.bu resimleri dosya adlarını veritabanına kaydettim isimlerini<img src=.....> 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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



D
21 yıl
Yüzbaşı

J
21 yıl
Onbaşı
Konu Sahibi

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 ?


Bu mesaja 1 cevap geldi.
D
21 yıl
Yüzbaşı

Açıkcası yapmak istediğine yabancı kaldım biraz.
Yapmak istediğin Veritabanından kayıtları sıralayarak sayfalamak mı ?



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.