lostyazilim
tr.link

Php sonsuz kategorileme ile ilgili bir sorun

2 Mesajlar 597 Okunma
lstbozum
tr.link

flashman58 flashman58 WM Aracı Kullanıcı
  • Üyelik 17.02.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Web Tasarımcı
  • Konum Kayseri
  • Ad Soyad E** G**
  • Mesajlar 1
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
İ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.




  • ANASAYFA

  • KURUMSAL

  • ÜRÜNLERİMİZ


    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 "
    • $kategori_adi";


      // 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 "
    • ";

      }

      echo "
    ";

    }

    kategori_listele();

    ?>




  • HİZMETLERİMİZ

  • İLETİŞİM



şimdi benim sorunum şu aşağıdaki kod sayesinde kategorilere link veriyor

echo "
  • $kategori_adi";

    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.
  •  

     

    wmaraci
    reklam

    Qezgin Qezgin Php Kullanıcı
    • Üyelik 14.06.2019
    • Yaş/Cinsiyet 35 / E
    • Meslek Gezgin
    • Konum Denizli
    • Ad Soyad B** D**
    • Mesajlar 54
    • Beğeniler 9 / 11
    • Ticaret 0, (%0)
    Merhabalar,

    Urunler tablonuzdaki kategoriid leri bir diziye alın bunu bir sorgu ile fetch_array yapabilirsiniz sonra diğer kategori_id ile karşılaştırın

    Örneğin :


    Menuler diye bir id dizisi var sayalım


    $menuler= array(1, 4, 5, 6);

    if (in_array($kategori_id, $menuler)) {

    echo "
  • $kategori_adi";
    }else{

    echo "
  • $kategori_adi";
    }



    1,4,5,6 numaralı kategorilerinizde link olacak ama 2 ve 3 deki kategorilerinizde link olmayacaktır
  •  

     

    The greates enemy will hide in the last place you would ever lock..
    Site Ayarları
    • Tema Seçeneği
    • Site Sesleri
    • Bildirimler
    • Özel Mesaj Al