- Katılım
- 26 Mart 2005
- Mesajlar
- 922
- Reaction score
- 4
MYSQL kayıtlar Tablosu
kategori sütun kısmına aşağıdaki şekilde örnek verebiliriz.
a = ustkat
b = altkat
c = enaltkat
Tablo yapısı;
ID kategori baslik
1 - a.b.c. - ABC Başlığı
Not: Bu şekilde sınırsız kategorilendirme sistemi mevcut.Fakat eklenen kategoriler
her zaman bu şekilde muntazam değil. Örnek: a.a.a.bb.a.a.d veya dd.dd.aa.aa.cc.cc.aa
gibi şekillerde de olabiliyor.Kısacası aynı isimde bir üst kategori varken onun
altında veya daha altında aynı isimde bir alt kategoriden bir veya birden fazla
olabilmekte.
Bu şekilde olan bir MYSQL tablo yapısının URL tarafındaki görüntüsü domain/a/b/c şeklinde.
domain/a/b/c şeklindeki bir URL isteğinde, alt kategorideki bir kayıdın bir üst kategoride
veya diğer üst kategorilerde listelenmesini istiyorum.Yani C ile ilgili kayıtların domain/a/b altında
veya domain/a şeklindeki bir istekte B ve C kayıtlarının listelenmesi gibi.
Üstteki sorgu ile LIKE %...% kullandım ve bu listelemeyi yapabiliyorum.Fakat LIKE kullandığım için
domain/c , domain/b , domain/c/b gibi isteklerde kategori var olarak göründüğünden ve böyle bir
sıralamaya ait kayıt bulunamadığından boş bir sayfa görünmekte.
Sorular:
1) LIKE kullanılan bu sistemde doğru eşleşmeyen kategorilerin oluşturduğu boş sayfaların başka sayfalara yönlendirmesini nasıl yapabilirim ?
2) Bu tür bir sistemde kullanabileceğim LIKE harici; alt kategorilerde bulunan kayıtların bir üst veya en üst kategorilerde göstermenin başka bir yolu var mıdır ?
kategori sütun kısmına aşağıdaki şekilde örnek verebiliriz.
a = ustkat
b = altkat
c = enaltkat
Tablo yapısı;
ID kategori baslik
1 - a.b.c. - ABC Başlığı
Not: Bu şekilde sınırsız kategorilendirme sistemi mevcut.Fakat eklenen kategoriler
her zaman bu şekilde muntazam değil. Örnek: a.a.a.bb.a.a.d veya dd.dd.aa.aa.cc.cc.aa
gibi şekillerde de olabiliyor.Kısacası aynı isimde bir üst kategori varken onun
altında veya daha altında aynı isimde bir alt kategoriden bir veya birden fazla
olabilmekte.
Bu şekilde olan bir MYSQL tablo yapısının URL tarafındaki görüntüsü domain/a/b/c şeklinde.
domain/a/b/c şeklindeki bir URL isteğinde, alt kategorideki bir kayıdın bir üst kategoride
veya diğer üst kategorilerde listelenmesini istiyorum.Yani C ile ilgili kayıtların domain/a/b altında
veya domain/a şeklindeki bir istekte B ve C kayıtlarının listelenmesi gibi.
PHP:
$sorgu = mysql_query("SELECT * FROM `kayitlar` WHERE `kategori` LIKE '%". $domainden_gelen_parca ."%' ");
while ($gelen = mysql_fetch_assoc($sorgu)) {
echo $gelen['baslik'] . ' <br />';
}
Üstteki sorgu ile LIKE %...% kullandım ve bu listelemeyi yapabiliyorum.Fakat LIKE kullandığım için
domain/c , domain/b , domain/c/b gibi isteklerde kategori var olarak göründüğünden ve böyle bir
sıralamaya ait kayıt bulunamadığından boş bir sayfa görünmekte.
Sorular:
1) LIKE kullanılan bu sistemde doğru eşleşmeyen kategorilerin oluşturduğu boş sayfaların başka sayfalara yönlendirmesini nasıl yapabilirim ?
2) Bu tür bir sistemde kullanabileceğim LIKE harici; alt kategorilerde bulunan kayıtların bir üst veya en üst kategorilerde göstermenin başka bir yolu var mıdır ?