Şimdi Ara

Php Sonsuz Kategorileme ile ilgili Bir Sorun

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
243
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • İ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.

    [simage]https://store.donanimhaber.com/d2/8d/28/d28d2802791f6ebe9d798993c4792afe.jpeg [/simage]

    <ul class="flexy-menu">
    <li class="active"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=139412237&url=index.php" data-href="index.php">ANASAYFA</a><div class="menu-space"></div></li>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=139412237&url=kurumsal.php" data-href="kurumsal.php">KURUMSAL</a><div class="menu-space"></div></li>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=139412237&url=#" data-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 '
      ';

      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 data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=139412237&url=hizmetlerimiz.php" data-href="hizmetlerimiz.php">HİZMETLERİMİZ</a><div class="menu-space"></div></li>
      <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=139412237&url=iletisim.php" data-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

    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.Php Sonsuz Kategorileme ile ilgili Bir Sorun







  • Şimdi burada takip edebileceğin 2 yol var.

    1. Yol (ki en hantalı) - Her kategoriyi yazdırırken tekrar tekrar sql sorguları ile alt kategorisi var mı ürün var mı diye kontrol edebilirsin. Sonuca göre linki yazdırabilirsin.

    2. Yol (ki en tatlısı) - Her ürün ekleme silme işleminde kategori tablona ekleyeceğin ek bir "product_exists" sütununu güncellersin. Böylele ürün eklediğinde ilk defa ürün ekleniyorsa 0'dan 1'e çekersin ve ürün sildiğinde o kategoride kalan son ürünü siliyorsan 0'dan 1'e çekersin.

    Böylelikle dediğin işlemi çok hızlı bir şekilde gerçekleştirebilirsin ;)
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.