Kategoriye Göre İçerik Listeleme
Bu derste kategoriye göre içerik listeleme anlatılacaktır. Kategori ekleme ve içerik ekleme ile ilgili Veritabanına Kayıt Ekleme dersine bakabilirsiniz.
Öncelikle veritabani.mdb adlı bir veritabanımız olsun. Bu veritabanına ait 2 tablo oluşturun. Tablo isimlerinden birisi KATEGORILER diğeri ICERIKLER olsun.
KATEGORILER tablosuna şu sütunları sırasıyla oluşturun: KATEGORI_ID (Otomatik Sayı), KATEGORI_ADI (Metin)
ICERIKLER tablosuna şu sütunları sırasıyla oluşturun: ICERIK_ID (Otomatik Sayı), KATEGORI_ID (Sayı), ICERIK_ADI (Metin), ICERIK_YAZISI (Not)
Bundan sonra yapacağınız iş Veritabanından Kayıt Alma ve Verileri Sayfalama dersinde anlatılan işlemlerdir.
Yapmanız gereken aşağıdaki kodu kullanmaktır:
<%
KATEGORI_ID=Request.QueryString("KATEGORI_ID")
set Baglanti = Server.CreateObject("ADODB.Connection")
Baglanti.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb"))
Sorgu = "SELECT * FROM ICERIKLER WHERE KATEGORI_ID=" & KATEGORI_ID
set verial = server.createobject("ADODB.Recordset")
verial.open Sorgu,Baglanti,1,3
mesajadet = verial.recordcount
sayfasayisi = 10
If verial.eof then
%>
Kayıtlı veri yok.
<%
Else
if request("s")<>"" then
sayfa = cdbl(request("s"))
verial.move sayfa*sayfasayisi
else
sayfa = 0
end if
for t=1 to sayfasayisi
if verial.eof then exit for
%>
İçerik Adı: <%=verial("ICERIK_ADI")%> - İçerik Yazısı:<%=verial("ICERIK_YAZISI")%><br>
<%
verial.movenext
next
verial.close
set verial=nothing
Baglanti.CLOSE
SET Baglanti = NOTHING
%>
Sayfa : <%
if mesajadet/sayfasayisi = int(mesajadet/sayfasayisi) then sayfaadet = mesajadet/sayfasayisi else sayfaadet = int(mesajadet/sayfasayisi) +1
for p=0 to sayfaadet-1
if sayfa = p then
%>
[<%=p+1%>] <% else %> <a href="veri.asp?kategori_id=<%=KATEGORI_ID%>&s=<%=p%>">[<%=p+1%>]</a> <%
end if
next
end if
%>
Bu yukarıdaki kodun anlatımı bir önceki derste mevcuttur. Bunda farklı olan Request.QueryString("KATEGORI_ID") kodudur. Bu koda göre içeriği kategoriye göre listeliyoruz. İlk başta bu kodu tanımladık. Daha sonra içerikleri sorgulatırken kategori id'sini alarak sorgulattık. İçeriklerimizide sayfalama sırasında kategori id'sini yansıttık.
Bir kategorideki içerikleri listeletmek için vereceğiniz link şu şekilde olmalıdır: veri.asp?kategori_id=<%=KATEGORI_ID%>
Bu yukarıdaki <%=KATEGORI_ID%> kısmını veritabanından otomatik olarak listeletmeniz gerekir.