[PHP] Recursive Mantığı
-
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? :)
-
sokoban bunu yazdı
Günlerdir bunu düşünüyorum öğrenmem lazım kafayı yerim taktım :D
Hahahah :D
-
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.
-
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.
-
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.
-
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( ' ', ( $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 -
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
