• 07-12-2015, 02:26:42
    #1
    Reveloper
    Merhaba,

    Aşağıdaki veritabanı sistemine sahibim:



    İstediğim şudur:

    sub yazan sütundaki idnin alt kategorisidir. ve bununda alt kategorisi olabilir

    Örneğin:

    Parfüm
    -Bayan Parfüm
    --Yaz Parfümü
    --Kış Parfümü
    -Erkek Parfüm
    --Olgun Erkek Parfümü
    ---60 yaş üstü erkek parfümü

    gibisinden..

    basitçe
    $arr=array(
      "parfum"=>array(
        "bayan parfum"=>array(
          "yaz parfumu",
          "kis parfumu",
        ),
        "erkek parfum"=>array(
          "olgun erkek parfumu"=>array(
            "60 yaş üstü erkek parfümü"
          )
        )
      )
    );
    bu sub kategorisini nasıl bir döngüye sokacağımda en son sub 0'ı bulana kadar id den kontrol sağlayacak ?
  • 07-12-2015, 14:41:19
    #2
    Reveloper
    Dahada basite indirgesem dostlar:

    $a[]=array("id"=>1,"sub"=>0);
    $a[]=array("id"=>2,"sub"=>0);
    $a[]=array("id"=>3,"sub"=>0);
    $a[]=array("id"=>4,"sub"=>0);
    $a[]=array("id"=>5,"sub"=>1);
    $a[]=array("id"=>6,"sub"=>5);
    $a[]=array("id"=>7,"sub"=>3);
    $a[]=array("id"=>8,"sub"=>4);

    eğer sub herhangi bir a nın içerisined id ile eşleşiyorsa o arrayın alt arrayı olsun

    yani :

    $a[]=array("id"=>1,"sub"=>array("id"=>5,"sub"=>array("id"=>6,"sub"=>5))),
    $a[]=array("id"=>2,"sub"=>0);
    $a[]=array("id"=>3,"sub"=>array("id"=>7,"sub"=>3));
    $a[]=array("id"=>4,"sub"=>array("id"=>8,"sub"=>4));
  • 07-12-2015, 17:46:48
    #3
    Reveloper
    Onur Kızmaza teşekkürler:

    function kategori($ust){
    	$sorgu = mysql_query("SELECT id,name,sef,sub FROM tblcategories WHERE sub = '$ust';");
    	while ($veri = mysql_fetch_array($sorgu)){
    		$i=0;
    		if ($i == 0){
    			echo '<ul>';
    		}
    		echo '<li>'.$veri['id'].'-'.$veri['sub'].$veri['name'].'</li>';
    		$i++;
    		kategori($veri['id']);
    		if ($i>0){
    			echo '</ul>';
    		}
    	}
    }
    kategori(0);