• 24-02-2010, 22:55:17
    #1


    arkadaşlar veritabanımda 3 tane alan var menu_id,menu_adi,menu_ustu arkadaşlar veritabanında bilgiler bu şekilde saklı. arkadaşlar bu menu ve sınırsız alt menu mantığı

    çıktısı şu şekilde olucak arkadaşlar

    Anasayfa
    Atatürk Köşesi
    Okulumuz
    -Tarihçemiz
    -Misyonumuz Vizyonumuz
    Alanlar
    Kadromuz
    a
    -1
    --7
    --8
    --9
    -2
    -3
    yani menunun altında menunun altında menu yani fonksiyon sürekli kendini çağırıcak bunu nasıl yapabilirim bilgisi olan var mı internette hazır bi kod bulmuştum ama pek anlamamıştım anlayarak yapmak istediğim için sade bi kod olsun diye forumda soruyorum
  • 25-02-2010, 00:29:15
    #2
    Üyeliği durduruldu
    bu olay recursive fonksiyon yada özyenilemeli fonksiyon olarak geciyor.

    özellikle sinirsiz alt kategori diye aratirsaniz örnek kodlar bulabilirsiniz
  • 25-02-2010, 18:00:51
    #3
    onu biliyorum yani öyle yapıldğını biliyordum mantık kuramamıştım ama akşam pc yi kapatınca sakin kafa ile düşününce kağıt kalem aldım ve yaptım belki bazı arkadaşlara lazım olur kodları vereyim

    tüm menulerin gelmesi için

    function tam($a,$b)
    {
    	
    	$b=$b+1;
    		if($b==1)
    		$sql1=mysql_query("select * from menuler order by menu_id asc");
    		else
    		$sql1=mysql_query("select * from menuler where menu_id=$a");
    
    	while($kayit1=@mysql_fetch_object($sql1))
    		{
    			
    			echo $kayit1->menu_adi."<br>";
    			
    			$sql2=mysql_query("select * from menuler where menu_ustu=$kayit1->menu_id");
    			
    				while($kayit2=@mysql_fetch_object($sql2))
    					{
    						echo tam($kayit2->menu_id,$b);	
    					}
    		}	
    		
    
    }
    echo tam(0,0);
    eğer sadece belli bi menu ve alt menulerini .... göstermek istiyorsanız
    function menuler($a)
    {
    	$sql1=mysql_query("select * from menuler where menu_id=$a");
    	while($kayit1=mysql_fetch_object($sql1))
    		{
    			echo $kayit1->menu_adi."<br>";
    			
    			$sql2=mysql_query("select * from menuler where menu_ustu=$a");
    			
    				while($kayit2=mysql_fetch_object($sql2))
    					{
    						echo menuler($kayit2->menu_id);	
    					}
    		}	
    }
    echo menuler(78);
    bu kodu kullanabilirsiniz

    belki başka arkadaşlara da lazım olur kendim açtım kendim çözdüm bu konuyu
  • 27-02-2010, 04:18:55
    #4
    https://www.r10.net/php/341831-php-il...olusturma.html

    bahsi geçen konuyu açmıştım ben, umarım işini görür