Skip to main content

AccessTr.neT


Acceste İlişkilendirme ?

Acceste İlişkilendirme ?

Çözüldü #7
Sayın 53f4 veritabanında yablo yapınız yanlış ne yazık ki. Siz her kategoriyi bir tablo olarak yapmışsınız ve haberleri kendi kategori tablosunun içine ekliyorsunuz. Bu şekilde oku.aspx?id=1 dediğinizde zaten eksik bilgi vermiş olacaksınız. oku.aspx?id=1&kategori=haberler bu şekilde kullanırsanız hangi tablodan çekeceğinizi tespit edebilirsiniz. Peki bu doğru bir yöntem mi? Kesinlikle hayır Img-grin Kategorileriniz "Haberler, Spor, Sağlık, Eğitim" yarın "Kadın ve Çocuk" diye bir kategori eklemek istediğinizde yeni bir tablo mu ekleyeceksiniz? Hadi siz eklediniz peki o scripti kullanan başka kullanıcılar yapabilecek mi? Hadi yaptılar diyelim mantıklı bir çözüm mü? Img-grin Bu işin doğrusu şu şekildedir:

"Kategoriler" diye bir tablo ekleyeceksiniz. kategoriId, kategoriUst, kategoriAdi şeklinde olacak. Örneklendirelim :

kategoriId ... kategoriUst ... kategoriAdi
----------------------------------------------
1............... 0 ............... Haberler
2............... 1 ............... Yurt İçi Haberler
3............... 1 ............... Dış Haberler
4............... 1 ............... Siyaset
5............... 1 ............... Son Dakika
6............... 0 ............... Spor
7............... 6 ............... Futbol
8............... 6 ............... Voleybol
9............... 6 ............... Yüzme
10.............. 6 ............... Basketbol

İçerikler diye bir tablonuz olacak. Bu tabloya tüm haberlerinizi ekleyeceksiniz. Tablonuzda ek olarak bir alan olacak. Bu alanın adı kategoriId olacak ve doğal olarak sayı türünden olmalı. Eklediğiniz haber hangi kategotiye ait ise o kategorinin ID sini bu alana kaydedeceksiniz. Mesela voleybol ile ilgili bir haber eklediğinizde kategori Id si olarak 8 i kaydettireceksiniz. Bunu nasıl yapacağımı söylememe gerek varmı bilmiyorum ama yinede söylemiş olayım. İster açılan kutu isterseniz liste kutusu içinde tüm kategorileri listeleyeceksiniz. Haber ekleyen kişi eklediğiniz denetim içinden haber kategorisini tıkladığında o kategorinin ID sini tabloya kaydettireceksiniz.

Peki neden Kategoriler tablosunda sadece kategoriId ve kategoriAdi alanlarını yazmadımda yanına birde kategoriUst alanını ekledim? Çünkü bugün yarın tüm Spor haberlerini listelemek istediğinizde WHERE kategoriId=6 dediğinizde tüm Spor haberlerini listeleme imkanınız olacak.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task