Aspde Liste Sorunu
-
Abiler şimdi bir kaç sorum olcak başlayım
1_) aspde veri tabanına (mdb) kaydedilen son 5 adet konuyu listelemek nasıl yapılır
3_) aspde konu formundaki hit sutunu 100 olanları sırf nasıl sıralarım
4_) form.asp den gelen bilgileri form_kayıt.asp ile veritabanına yollarken ben sırf formdaki değil formdışı bilgide sutuna eklemek istiyorum mesela siparis formundaki fiyat stunu her seferinde 250 ytl yazılsın istiyorum hiç değişmeden
Bunları yardımcı olursanı allah razı olsun şimdiden elerinizden opuyorum
-
hazır uygulamaları incelemeni öneririm
sorduğun soruların hepsini tek bir scriptte bulabilirsin.kolay gelsin
-
Şimdi önce verilerim.mdb adında bir veritabanı oluşturun ve bunun içinde Veriler diye bir tablo ve bu tablonun da içinde Ad ile Soyad isminde iki tane alan yaratın.Sonra bu alanlarınızı veri ile doldurun.Yaklaşık 20 kayıt yaparsanız denemeleriniz kolaylaşır.
Veritabanımız hazırsa bir bağlantımızı kuralım...
<%
Dim Baglanti, Db_Yer, Kayit, bSQL
Db_Yer = Server.Mappath("verilerim.mdb")
dim conn,sql,rs
dim Gosterilen_kayit,Toplam_Kayit
Dim Kayit_Sayisi
Kayit_Sayisi = 10 ' Bir sayfada görünmesini istediğiniz kayıt sayısı
Set conn = Server.Createobject("Adodb.Connection")
conn.Open "DBQ="& Db_Yer &";Driver={Microsoft Access Driver (*.mdb)}"
Set rs = Server.CreateObject("Adodb.Recordset")
SQL = "Select * from Veriler"
rs.Open SQL, conn, 1, 3
%>
Artık tablomuza bağlandık.Sıra sıralama olayları için bilgilere geldi.
<%
rs.PageSize = Kayit_Sayisi
//rs.CahceSize = Kayit_Sayisi
If Request.QueryString("Sayfa") = "" Then
Gosterilen_kayit = 1
Else
Gosterilen_kayit = CInt(Request.QueryString("Sayfa"))
End If
Toplam_Kayit=rs.PageCount
If Gosterilen_kayit > Toplam_Kayit Then Gosterilen_kayit = Toplam_Kayit
If Gosterilen_kayit < 1 Then Gosterilen_kayit = 1
If Toplam_Kayit = 0 Then
Response.Write "Kayıt bulunamadı!"
Else
rs.AbsolutePage = Gosterilen_kayit
end if %>
Yukarıdaki kodlar ile hangi sayfada olduğumuzu öğreniyoruz.Bunu ise URL aracılığı ile veri yollayarak yapıyoruz.
Sayfalama
Sıralama işlemine kaldığımız yerden devam edelim.Gerçi bundan sonra pek yapılacak özel bir şey yok.Bildiğimiz şekilde verileri bir döngü ile sayfaya dökeceğiz.
<% i = 0
do while i < Kayit_Sayisi and Not rs.Eof
%>
Adı:<%=rs("Ad")%>
Soyadı:<%=rs("Soyad")%>
<hr size="1" color="black">
<%
i = i + 1
rs.MoveNext
Loop
%>
Ne güzel.İstediğimiz kadar kayıtı da sıraladık.Ama 2. ve 3. sayfalara nasıl geçeceğiz? İşte..
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><center><font face="verdana,arial,helvetica" size="2"> <% for k=1 to Toplam_Kayit %>
[<% if k=Gosterilen_Kayit then %><b><%=k%></b><% else %><a href='<%=Request.ServerVariables("SCRIPT_NAME")%>?Sayfa=<%=k%>'><%=k%></a><% end if %>]
<% next %></font></center>
</td>
</tr>
</table>
<% 'Her şey bitti.Sıraladık ve sayfaladık değil mi? :) %> -
evet haklısın sağol
-
Yukardaki sayfalama...
ilk sorunun cevabı...
2. sorunun cevabı ise sql cümleciğini yazarken
select * from tablon where hit=100
3. sorunun cevabıda, eğer recordset ile kayıt yapıyorsan
şu şekildedir
rs.open, conn 1,3
rs.addnew
rs("adi")= request("adi")
rs("fiyat")=250
rs.update
rs.close
tarzında yap...
-
rene abi çok sağol çok heycanlandım şimdi ilk defa bi konuma rene abi cevap veriyor bayılcam galba :D
-
1.sorunu bu sekilde de yapabilirsin
ben sıralarken hep böyle yapıyorum . ama sadece 5 tane gosterir istersen değişitirebilirsinde. rene hocanın da verdiğinide yapabilirsin hangisi kolay gelirse. tabi bunda sayfalama yok.
<%
Set konu = baglanti.execute("SELECT TOP 5 baslik,id FROM konular order by id desc")
Do While Not konu.EOF%>
<li><a href="konu.asp?x=<%=konu("id")%>"><%=konu("baslik")%></a><% konu.MoveNext
Loop %></li>
