|
|
| |||||||
| ASP Script sorunları yardım paylaşım bölümü |
| |
|
| | | LinkBack | Seçenekler |
| |||
![]() Arkadaşlar bu şekilde listeleme ve sorgulamayı aynı sayfada yapıyorum (listele.asp). Sayfa ilk yüklenirken tablodaki tüm verileri listeliyor. Burda görünsün diye her sayfada 3 kayıt listelesin olarak ayarladım. Sayfa 1-2-3-4 linkleri de doğru çalışıyor. Sorun şu: Yukarıdaki seçim kutularından bir tarih aralığı seçince filtreleyip listeliyor fakat, örneğin Sayfa 1-2 deki linkler doğru çalışmıyor. Yani Bu örnekte listelenen sayfa adedi en başta 4 dü, filtreleyince 2 oldu, ama örneğin 2. sayfaya bakmak istediğimde tıklayınca tekrar tablodaki tüm kayıtlar listeleniyor ve Sayfa 1-2-3-4 şeklinde yazıyor. Umarım anlatabilmişimdir. Yardımınızı bekliyorum. listele.asp dosyasında kullandığım kodlar şu şekilde: <% strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("Data.mdb") Set dbc = Server.CreateObject("ADODB.Connection") dbc.open strCon sayfa = Request.QueryString("sayfa") if sayfa="" then sayfa = 1 else sayfa = CInt(sayfa) end if Set sayfalama = Server.CreateObject ("ADODB.Recordset") sqlsayfalama = "Select * FROM uyeler WHERE mezuniyet_yil between CDate('"&tarih1&"')and CDate('"&tarih2&"')" sayfalama.Open sqlsayfalama, dbc,1,3 sayfalama.pagesize=3 sayfalama.absolutepage = sayfa say=sayfalama.pagecount %> <% if say>1 then %> Sayfalar: <% for i=1 to say if i=sayfa then response.write "<u>"&i&"</u>" else %> <a href="listele.asp?sayfa=<%=i%>" title="<%=i%>. sayfaya gider"> <%=i%> </a> <% end if next end if %> <% for i=1 to sayfalama.pagesize if sayfalama.EOF then exit for %> <% response.write "<tr>" response.write "<td>" response.write sayfalama("ad_soyad") response.write "</td>" response.write "</tr>" %> <% sayfalama.movenext next %> <% if say>1 then %> Sayfalar: <% for i=1 to say if i=sayfa then response.write "<u>"&i&"</u>" else %> <a href="listele.asp?sayfa=<%=i%>" title="<%=i%>. sayfaya gider"><%=i%></a> <% end if next end if dbc.close set dbc=nothing %> |
| |||
| seçilen tarihleri ya request.form ile aldıktan sonra sql sorgu içersinde devamlı göster ya da request.querystring ile url üzerinden çek. Eğer ki bu işlemi yapmaz isen 2. sayfaya geçtiğinde sorgu senin tarih seçip seçmediğini anlayamadığı için normal 2. sayfaya geçiyormuşsun gibi işlem yapmak zorunda kalıyor. |
| |||
| Alıntı:
|
| |||
| ikisinide bir anda kullan. Yani kişi ilk sorgu yaptığında request.form ile verileri çek (istersen bunları çektikten sonra session'a bağlayabilirsin) ve işlemi gerçekşetir. Daha sonra her sayfa geçişinde ?sayfa=2&tarih1=(ilktarihformu)&tarih2=(ikincitari hformu) şekliden çekersin sql kodu ilk değerde(yani sayfaya ilk girildiğinde tarih1 tarih2 url gözükmeyeceği için) hata vermemesi için bu işlemleride IF şartıyla tarih1-2 yokken formdan varken querystring çek diye şartlandırabilirsin. |
![]() |
| Bookmarks |
| Seçenekler | |
| |