• 26-06-2007, 20:01:51
    #1
    merhaba arkadaşlar

    elimde bir mysql tablosu var ve bu tabloda id,name ve parent alanları var.

    benim yapmak istediğim bir elemanın parent değeri başka bir elemanın id değerine eşit ise elemanı eşit olduğu elemanın altına yazdırmak.

    örnek:

    *mali tablolar
    -2005
    --a
    --b
    -2006
    -2007
    *istatistikler

    şekildeki gibi olsun istiyorum.
    bi nevi alt kategori /alt menu sistemi

    id ve parent değerlerini mysql den çekiyorum fakat karşılaştırılması yapamıyorum.

    yardımcı olursanız çok sevinirim.
  • 26-06-2007, 20:19:49
    #2
    Üyeliği durduruldu
    https://www.r10.net/655983-post4.html
  • 26-06-2007, 22:26:46
    #3
    <?php 
    $baglan=mysql_connect("localhost","***","***");
    mysql_select_db("db",$baglan);
    function kategori($id){
    $x1=mysql_query("select name from m_menu where parent='$id' and published='1' and menutype='leftmenu' order by ordering");
    
    while($x2=mysql_fetch_array($x1)){
      $sonuc.=$x2[name];
      kategori($x2[id]);
    }
    return $sonuc;
    } 
    
    ?>
    hocam boş beyaz ekran çıkıyor karşıma.
    ama sql i phpmyadminden çalıştırınca ana kategorileri çekiyor.

    alt kategorileri çekiceğimiz 2.ci döngü nasıl olacak peki?
  • 26-06-2007, 23:06:29
    #4
    hocam mantığı geç anladım ama çözdüm olayı.

    ben aşağıdaki > karakterini koyan kodu kullandım.

    function display_children($id, $parent) {
          $result = mysql_query("select id,parent,name from m_menu WHERE parent=".$id." and published=1 and menutype='leftmenu' order by ordering  ");
       
       while ($row = mysql_fetch_array($result)){
           
           echo str_repeat('>',$parent).$row['name']."<br>\n";
           
           display_children($row['id'], $parent+2);
       }
    }
    display_children(0,0);
  • 26-06-2007, 23:31:58
    #5
    kategori için
    tablo ana
    "id", "isim"
    alt kategori için
    tablo alt
    "kid","kisim","id"
    alt menü için
    tablo alt_menu
    "mid","misim","kid"
    alt kategorileri göstermek istiyorsan,

    SELECT * FROM alt_menu WHERE kid = '$_GET['kid']'