folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder [PHP] Recursive Mantığı



[PHP] Recursive Mantığı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    php diyosun sanırım bizim node dediğimiz database satırı olacak aslında. çok güzel bi makale vardı yöntemler hakkında aradım ama bulamadım şimdi. ne yaparsan yap döngü içinde sql çalıştırma öncelikle. bu yazılım işinde çok muhterem ulaştırma bakanımızın da dediği gibi fazla kurcalamayacaksın işini görüyorsa birşey. yeni kullanacağın algoritma büyük ihtimal öncekinden karışık olacak ama pek artı sağlamayacak, öncekiyle alıp veremediğin neydi? :)


    . . .. . ... .
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistic
    pesimistic's avatar
    Kayıt Tarihi: 05/Eylül/2012
    Erkek
    sokoban bunu yazdı

    Günlerdir bunu düşünüyorum öğrenmem lazım kafayı yerim taktım :D

    Hahahah :D


    Beyin olanca gücüyle ilerlerken, cinsel sistemlerin korkunç etkinliği daha uykuda olduğu için çocukluk, hayatımız boyunca özlemle geri dönüp baktığımız masumiyet ve mutluluk dönemi, hayatın cennetidir, kayıp cennet. - Arthur Schopenhauer
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek
    Buremba bunu yazdı

    php diyosun sanırım bizim node dediğimiz database satırı olacak aslında. çok güzel bi makale vardı yöntemler hakkında aradım ama bulamadım şimdi. ne yaparsan yap döngü içinde sql çalıştırma öncelikle. bu yazılım işinde çok muhterem ulaştırma bakanımızın da dediği gibi fazla kurcalamayacaksın işini görüyorsa birşey. yeni kullanacağın algoritma büyük ihtimal öncekinden karışık olacak ama pek artı sağlamayacak, öncekiyle alıp veremediğin neydi? :)

    hocam aslında önceki işimi zaten görüyor hatta şuanki bahsettiğim node mantığıyla çalışan scriptte buldum ama benimki bu işin arkaplanının nasıl çalıştığını öğrenme isteği sadece :D kişisel bir merak.


    .
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek
    sokoban bunu yazdı
    Buremba bunu yazdı

    php diyosun sanırım bizim node dediğimiz database satırı olacak aslında. çok güzel bi makale vardı yöntemler hakkında aradım ama bulamadım şimdi. ne yaparsan yap döngü içinde sql çalıştırma öncelikle. bu yazılım işinde çok muhterem ulaştırma bakanımızın da dediği gibi fazla kurcalamayacaksın işini görüyorsa birşey. yeni kullanacağın algoritma büyük ihtimal öncekinden karışık olacak ama pek artı sağlamayacak, öncekiyle alıp veremediğin neydi? :)

    hocam aslında önceki işimi zaten görüyor hatta şuanki bahsettiğim node mantığıyla çalışan scriptte buldum ama benimki bu işin arkaplanının nasıl çalıştığını öğrenme isteği sadece :D kişisel bir merak.

    ahanda buldum. http://www.slideshare.net/billkarwin/models-for-hierarchical-data bu abimiz baya kaliteli bi abi, bütün kullanımdaki algoritmaları sıralamış eksiklerini artıları listelemiş. biraz ingilizcen varsa çok rahat anlayabilirsin hocam.


    . . .. . ... .
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek
    Buremba bunu yazdı
    sokoban bunu yazdı
    Buremba bunu yazdı

    php diyosun sanırım bizim node dediğimiz database satırı olacak aslında. çok güzel bi makale vardı yöntemler hakkında aradım ama bulamadım şimdi. ne yaparsan yap döngü içinde sql çalıştırma öncelikle. bu yazılım işinde çok muhterem ulaştırma bakanımızın da dediği gibi fazla kurcalamayacaksın işini görüyorsa birşey. yeni kullanacağın algoritma büyük ihtimal öncekinden karışık olacak ama pek artı sağlamayacak, öncekiyle alıp veremediğin neydi? :)

    hocam aslında önceki işimi zaten görüyor hatta şuanki bahsettiğim node mantığıyla çalışan scriptte buldum ama benimki bu işin arkaplanının nasıl çalıştığını öğrenme isteği sadece :D kişisel bir merak.

    ahanda buldum. http://www.slideshare.net/billkarwin/models-for-hierarchical-data bu abimiz baya kaliteli bi abi, bütün kullanımdaki algoritmaları sıralamış eksiklerini artıları listelemiş. biraz ingilizcen varsa çok rahat anlayabilirsin hocam.

    İnceliyim hocam :D bu konudan çok güzel şeyler çıktı iyi ki açmışım.


    .
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    13 yaşındaki yiğenime aşağıdaki kodu gösterip anlatmıştım :D çocuk anlamıştı :) elimde materyal yok video çekip görüntülü ders olarak anlatacaktım :D

     

    <?php
    
    function KlasorListele( $dizin = '.', $seviye = 0 ){
        $engelli = array( 'cgi-bin', '.', '..' );
    	//listelemeye girmesini istemediğimiz dizinleri ekleriz.
        $klasor_ac = @opendir( $dizin );
        //dizin parametresi ile verilen dizini taramaya başlar.
         while( false !== ( $dosya = readdir( $klasor_ac ) ) ){
        //okunacak klasör kalmayıncaya kadar döngü devam
             if( !in_array( $dosya, $engelli ) ){
            //engelli listesinde değilse if içeriği okunur listedeyse elseden devam eder.
                $bosluk = str_repeat( '&nbsp;', ( $seviye * 4 ) );
                // klasör görünümü yapmak için kullanıldı.
    			/*
    			   1.klasör
    			       1.Alt Klasör
    				   2.Alt Klasör
    				        2.Alt Klasörün Alt Klasörü :)
    			*/
                if( is_dir( "$dizin/$dosya" ) ){
                // şimdi döngüdeki asıl yere geldik eğer klasörse ?.
                    echo "<strong>$bosluk $dosya</strong><br />";
                    KlasorListele( "$dizin/$dosya", ($seviye+1) );
                     /* ve fonksiyona en baştan giriş yapıyoruz :) hem döngüdende
    				  çıkmadık :) nasıl mı?
    				     1.Klasör 
    					    2.Klasör.
    						  3.Klasör( içinde Dosya var ne Klasör Yok Ne Olacak.?) 
    			     
    				Ordaki $seviye değişkenini sana anahtar gibi gösterecem.
    				    $seviye+1 14'e geldi diyelim 14 klasör alta indin :) ama orda sadece dosyalar var :D
    					o zaman o döngü "while( false !== ( $dosya = readdir( $klasor_ac ) ) )" iptal ettirecek
    					ve $seviye-1 olacak varsa bir sonraki klasöre girecek çünkü 13. döngüdeki gördüğü ilk 
    					klasöre girmiştir. şimdi geri dönüp devam edecek ve varsa 2. klasöre girecek yoksa yine whileden
                        çıkıp bir alt seviyede kaldığı yerden devam edecek :)
                        bu böyle sürüp gider :)					
    				*/
                
                } else {
                
                    echo "$bosluk $dosya<br />";
                    // Dosya adını gösterecek
                
                }
            
            }
        
        }
        
        closedir( $klasor_ac );
        // final işlemi klasör ü bellekte kaldırır.
    
    }
    
    ?> 

    oku eğer anlamazsan sadece bu dallanmayı içerecek bi fonksiyon yazarım. kardeşim.

     

     

     

    DuPi tarafından 04/May/13 09:11 tarihinde düzenlenmiştir

    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek
    Dostlar herkese teşekkürler problemi şu şekilde çözdüm bir çok arkadaş yardımcı oldu 



    <?php
    	error_reporting(0);
    	$connect = mysql_connect("127.0.0.1", "root", "");
    	mysql_select_db("test");
    	node_gez(0);
    	
    	function node_gez($nid){	
    		$sql=mysql_query("SELECT * FROM categories where parent_id='$nid'");
    			while($satir=mysql_fetch_array($sql)){
    				echo $satir["title"]."<br>";
    				node_gez($satir["category_id"]);
    				
    			}
    		
    	}	
    
    ?>
    
    sokoban tarafından 04/May/13 10:51 tarihinde düzenlenmiştir

    .
Toplam Hit: 1958 Toplam Mesaj: 18