flashman3858
Öğrenci
- Katılım
- 3 Ağustos 2019
- Mesajlar
- 1
- Reaksiyon puanı
- 0
- Puanları
- 1
- Yaş
- 32
İyi günler ben bir sitem için sonsuz kategori sistemi yapmak istedim internetten bir kod buldum ve başarılı bir şekilde sonsuz kategorileme işlemini gerçekleştirdim aşağıda bir resim ve bulduğum kodu sizinle paylaşıyorum.
şimdi benim sorunum şu aşağıdaki kod sayesinde kategorilere link veriyor
ama benim tam olarak istediğim şu her kategoriye link vermesin benim veritabanımda birde ürünler tablom var o tablodada kategoriid kısmı var eğer ürünler tablomdaki kategoriid ile kategoriler tablomdaki kategori_id arasında bir eşleşme olursa link kısmını versin yok eşleşme olmazsa link kısmını # yapabilir.Yani o kategoriye ait ürün varsa linke gitsin istiyorum yoksa gitmesin
Yardımlarınızı bekliyorum.İyi günler İyi çalışmalar.Şimdiden çok teşekkürler.
Kod:
<ul class="flexy-menu">
<li class="active"><a href="index.php">ANASAYFA</a><div class="menu-space"></div></li>
<li><a href="kurumsal.php">KURUMSAL</a><div class="menu-space"></div></li>
<li><a href="#">ÜRÜNLERİMİZ</a><div class="menu-space"></div>
<!-- MENÜ İÇİNE SINIRSIZ KATEGORİYİ LİSTELEME BAŞLADI -->
<?php
function kategori_listele($kategori_id=0){
global $db;
$kategori_listele = $db -> prepare ("select kategori_id, ana_kategori_id, kategori_adi from kategoriler where ana_kategori_id=:kategori_id");
$kategori_listele -> execute ( array("kategori_id"=>$kategori_id) );
echo '<ul>';
while ($kategoriler_dizisi= $kategori_listele -> fetch (PDO::FETCH_ASSOC) ){
$kategori_id = $kategoriler_dizisi["kategori_id"];
$ana_kategori_id = $kategoriler_dizisi["ana_kategori_id"];
$kategori_adi = $kategoriler_dizisi["kategori_adi"];
echo "<li> <a href='urundetay.php?kategori_id=$kategori_id'>$kategori_adi</a>";
// Yazılan Bu kategorinin alt kategorisi varsa fonksiyonu tekrar çağıracak yoksa çağırmayacak. Onun için de bu kategori altında alt kategori var mı onu saydırıyorum.
$sql_say = $db -> prepare ("select * from kategoriler where ana_kategori_id=:kategori_id order by kategori_adi desc");
$sql_say -> execute ( array ("kategori_id"=>$kategori_id) );
$alt_kategori_say = $sql_say -> rowcount();
// Alt kategori sayısı 0 dan büyük ise aynı fonksiyon tekrar kullanılacak
if ( $alt_kategori_say > 0 ) {
kategori_listele($kategori_id);
}
echo "</li>";
}
echo "</ul>";
}
kategori_listele();
?>
<!-- MENÜ İÇİNE SINIRSIZ KATEGORİYİ LİSTELEME BİTTİ -->
</li>
<li><a href="hizmetlerimiz.php">HİZMETLERİMİZ</a><div class="menu-space"></div></li>
<li><a href="iletisim.php">İLETİŞİM</a><div class="menu-space"></div></li>
</ul>
şimdi benim sorunum şu aşağıdaki kod sayesinde kategorilere link veriyor
Kod:
echo "<li> <a href='urundetay.php?kategori_id=$kategori_id'>$kategori_adi</a>";
ama benim tam olarak istediğim şu her kategoriye link vermesin benim veritabanımda birde ürünler tablom var o tablodada kategoriid kısmı var eğer ürünler tablomdaki kategoriid ile kategoriler tablomdaki kategori_id arasında bir eşleşme olursa link kısmını versin yok eşleşme olmazsa link kısmını # yapabilir.Yani o kategoriye ait ürün varsa linke gitsin istiyorum yoksa gitmesin
Yardımlarınızı bekliyorum.İyi günler İyi çalışmalar.Şimdiden çok teşekkürler.