• 18-09-2013, 15:26:34
    #10
    nickelaj adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    kategoriye ait alt kategoriler de olsa ve bu yazıları bir tabloda listelemek istesek;


    id içerik kategori id

    bağlı olduğu kategoriyi alabiliyorum fakat onun üst kategorisine kadar nasıl aldırabilirim ? Kusur bakmayın eski bir mesajda (https://www.r10.net/php/1032792-php-b...bilirim-2.html) da sordum bunu ama araştırırken bu mesajı da gördüğüm için soruyorum. rahatsızlık için şimdiden özür dilerim.
    Hocam aslında birçok yolu var ama benim kullandığım şeklini anlatmaya çalışayım kısaca;
    İcerik tablosu kategori alanına kategori id sini yazarken ilgili kategorilerinin üstündeki idleri de yazın ve bir ayraçla ayırın. örneğin x5x51x45x32x gibi olabilir.

    kategoriye göre listelediğiniz zaman da sorguyu like'la yaparsınız.

    İçerik çok fazlaysa bu yöntem sorgu hızını yavaşlatacaktır tabi.

    Bunun dışında, kategori derinliği fazla değilse birkaç ayrı kategori sütunu oluşturup o sütunlarda kategori idsini arayabilir ya da kullanıcı tarafında önce ilgili kategorinin üstidlerini sorgulayıp bu sorgudan dönen değerleri in() le icerik tablosunda sorgulayabilirsiniz.

    Aklıma gelenler bunlar şimdilik. Kolaygelsin
  • 18-09-2013, 15:37:32
    #11
    gözümden kaçan birşey mi var diye tekrar baktım linke, çünkü ordakileri de okumuştum.

    eğer tam anlatamadıysam kusura bakmayın.

    kategoriler tablosu
    id isim katid
    1 ana1 0
    2 ana2 0
    3 ana3 0
    4 alt1 3
    5 alt2 4

    icerik tablosu
    id isim katid
    1 icerik1 2
    2 icerik2 5

    Ekrana dökmek istediğim tablo;

    Sıra İsim Kategori
    1 icerik1 ana2
    2 icerik2 ana3 > alt1 > alt2

    sınırsız kategori ile kategori tablosunu alt kategorileri ile sıralayabiliyorum, ama içeriktekileri yukarıdaki gibi bir türlü sıralatamadım. yani icerik katid kategori id ile sıralatarak üst kategorisine kadar yazdırmaya çalışıyorum.

    Tekrar ikinize de cevabınız ve ilginiz için teşekkürler.
  • 18-09-2013, 15:42:25
    #12
    Üyeliği durduruldu
    nickelaj adlı üyeden alıntı: mesajı görüntüle
    gözümden kaçan birşey mi var diye tekrar baktım linke, çünkü ordakileri de okumuştum.

    eğer tam anlatamadıysam kusura bakmayın.

    kategoriler tablosu
    id isim katid
    1 ana1 0
    2 ana2 0
    3 ana3 0
    4 alt1 3
    5 alt2 4

    icerik tablosu
    id isim katid
    1 icerik1 2
    2 icerik2 5

    Ekrana dökmek istediğim tablo;

    Sıra İsim Kategori
    1 icerik1 ana2
    2 icerik2 ana3 > alt1 > alt2

    sınırsız kategori ile kategori tablosunu alt kategorileri ile sıralayabiliyorum, ama içeriktekileri yukarıdaki gibi bir türlü sıralatamadım. yani icerik katid kategori id ile sıralatarak üst kategorisine kadar yazdırmaya çalışıyorum.

    Tekrar ikinize de cevabınız ve ilginiz için teşekkürler.
    hangi kategoriye ait içerikleri yazdırabilirsin artık. örneğin SELECT * FROM yazi WHERE altkatid =1 //altkatid si 1 olan içerikleri yazdırırsın not yazı tablosuna da altkatid alanını eklemeyi unutma