• 30-05-2019, 00:00:11
    #1
    Merhabalar, php pdo da geliştirdiğim bir projem var ve sql tablo yapım şöyle;


    ve şunu yapmak istiyorum listeletirken de kategori_ust de 0 değeri olanlar üst kategori olarak listeliyorum ve
    kategori_ust sütununda eklenen kategorilerin idsini ekletiyorum alt üst kategori mantığım böyle ve yapmak istediğim;
    kategori id si ile kategori ust eşit olanı adı ile listeletmek istiyorum. Yani örneğin sql de daire kategorisinin üstü emlak kategorisine bağlı ve ben bunu php kısmında nasıl listeleyebilirim GET'den değer mi almam lazım yoksa farklı bir mantığımı vardır listelemelerimi foreach ile yapıyorum örnek listelediğim kod;

    <?php
    
                                        //$sayac = 0;
    
                                        foreach ($kategorilist as $cek) {
    
                                            if ($_GET['kategori_id']==$cek['kategori_ust'] and $cek['kategori_ust'] >= 1) {?>
    
                                                <li style="line-height: 27px;"><a href="kategoriler-<?=seo($cek['kategori_title'].'-'.$cek['kategori_id'].'-'.$cek['kategori_ust'])?>"><?=$cek['kategori_title']?></a></li>
    
                                            <?php }elseif($_GET['kategori_id']==$cek['kategori_id'] and $cek['kategori_ust'] >= 1){
    
                                                if ($cek['kategori_ust']==$_GET['kategori_id']) {
                                                    echo $cek['kategori_title'];
                                                }
    
                                                ?>
    
                                                <li style="line-height: 27px;"><a href="kategoriler-<?=seo($cek['kategori_title'].'-'.$cek['kategori_id'].'-'.$cek['kategori_ust'])?>"><?=$cek['kategori_title']?></a></li>
    
                                            <?php }
    
                                        }?>
  • 30-05-2019, 00:17:12
    #2
    Yatmadan önce cevap yazayım hocam sana.

    <?php
    $ustkategoriler = // mysql sorgusu ile kategori_ust = 0 olanları döngüye alıyoruz.
    foreach($ustkategoriler as $ustkategori){
       $ustkatid = $ustkategori->kategori_id;
       $ustkatad = $ustkategori->kategori_title;
    
       echo "$ustkatad<br />";
       $altkategorisay = // numRows ile WHERE kategori_ust = $ustkatid sorgusu yapacaksın, değer > 0 ise aşağıya geçiyoruz.
       if($altkategorisay > 0){
          $altkategoriler = // mysql sorgusu ile yine WHERE kategori_ust = $ustkatid olanları döngüye alacaksın.
          foreach($altkategoriler as $altkategori){
             $altkatid = $altkategori->kategori_id;
             $altkatad = $altkategori->kategori_title;
             echo "-- $altkatad<br />";
          }
       }
    echo "<hr />";
    }
    ?>
    Syntax hatası olabilir. İyi forumlar.