Burak ŞİMŞEK - Kişisel İnternet Sitesi - Ücretsiz BŞ & UWN Scriptleri

  • Increase font size
  • Default font size
  • Decrease font size

Kategoriye Göre İçerik Listeleme

E-posta Yazdır

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.