• 07-01-2013, 17:33:14
    #1
    Merhabalar sınırsız kategori mantığını yaptım fakat. Kategorilerin alt kategorilerini accordion menü ile yapamıyorum. Nasıl yapabilirim ?
    Kod Bloğum:

    $globalmenuler = "";
    
    # Alt Var mı
    function altvarmi($aitlik){	
    	$select = "select * from category where kategori_ust_id = ".$aitlik." ";
    	$sorgu = mysql_query($select);
    	$veri=mysql_fetch_array($sorgu);
    	if($veri)
    		return true;
    	else
    		return false;
    }
    # Alt Var mı
    
    # Kategori
    function sayfagetir($aitlik = 0){
    	global $globalmenuler;
    	global $root;
    	$select = "select * from category where kategori_ust_id = ".$aitlik." order by kategori_id desc";
    	$sorgu = mysql_query($select);
    	while($veri=mysql_fetch_array($sorgu)){
    		if(altvarmi($veri['kategori_id'])){	
    			$globalmenuler .= "<li><a href='".$root."".sef_kategori($veri["sef"])."'>".$veri['kategori_adi']."</a>\n";
    		}else{
    			$globalmenuler .= "<li><a href='".$root."".sef_kategori($veri["sef"])."'>".$veri['kategori_adi']."</a>\n";
    		}if(altvarmi($veri['kategori_id'])){	
    			$globalmenuler .= "<div class='menualt'></div>\n";
    			sayfagetir($veri['kategori_id']);
    			$globalmenuler .= "</li>\n";
    		}else{
    			$globalmenuler .= "</li>\n";
    		}
    	}
    }
    # Kategori
    En son şu şekilde ekran çıktısı alıyorum.

    Ana Kategori
    Ana Alt Kategori
    Ana Kategori2
    Ana Alt Kategori2

    Bu tarz hiyeraşi gidiyor.

    Accordion menü ile birleştirmiş olan varsa paylaşabilir mi ?

    Teşekkürler

    Edit: Yok mu bilen ?
  • 07-01-2013, 19:20:08
    #2
    Tam anlamadım ama recursive function kullanarak sınrısız limite ulasabilirsin.

    function get_sub_category($id) {
    
    
    $q = mysql_query("SELECT cat_name,cat_id FROM categories WHERE home='{$id}'");
    
    if (mysql_num_rows($q) > 0) {
    echo '<blockquote>';
    
      while ($a = mysql_fetch_array($q)) {
      echo $a['cat_name'].'<br />';
      get_sub_category($a['cat_id']);
      }
    
    echo '</blockquote>';
    }
    
    }
    gibi.
  • 07-01-2013, 19:40:29
    #3
    Urban adlı üyeden alıntı: mesajı görüntüle
    Tam anlamadım ama recursive function kullanarak sınrısız limite ulasabilirsin.

    function get_sub_category($id) {
    
    
    $q = mysql_query("SELECT cat_name,cat_id FROM categories WHERE home='{$id}'");
    
    if (mysql_num_rows($q) > 0) {
    echo '<blockquote>';
    
      while ($a = mysql_fetch_array($q)) {
      echo $a['cat_name'].'<br />';
      get_sub_category($a['cat_id']);
      }
    
    echo '</blockquote>';
    }
    
    }
    gibi.
    Sınırsız kategori mantığında sıkıntı yok.
    Jquery Accordion menü de ana kategorileri yazdırıcam, ana kategoriye tıklayınca alt kategorileri listelencek bu tarz olcak hocam