تالار گفتمان nCIS.ir

نسخه‌ی کامل: نحوه پیمایش برعکس (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان

من یک treemenu تو سایتم ایجاد کردم , تو نحوه پیمایش از فرزند به والد موندم چیکار کنم . میشه راهنمایی بفرمائید ...

ساختار جدول به این شکله :
id
name
parentId


تشکر
چرا از فرزند میخواین به والد برسین؟ توی TreeView که این مدلی نیست. شاید توی Breadcrumbs مدنظرتونه.
بله جناب مهندس منظورم همون Breadcrumbs بود نمیدونم چرا گفتم TreeView , اما حل شد تشکر
لطفاً راه حل رو هم به اشتراک بگذارین درصورت امکان. ممکنه مشکل برخی دیگه از دوستان هم باشه و بتونید بهشون کمک کنید.
    function Lists($parent = 0)
   {
       connect();
       $result = select("select * from category where ParentId_Fk = " . $parent);
       disconnect();

       $i = 0;
       $children = array();
       while($row = mysql_fetch_assoc($result)) 
       {
           $children[$i] = array();
           $children[$i]['id'] = $row['Id'];
           $children[$i]['name'] = $row['Name'];
           $children[$i]['children'] = Lists($row['Id']);
           $i++;
       }
       return $children;
   }

/************************************************/

function menu($array = null) 
   {
       if (count($array))
       {
           foreach ($array as $item)
           {
               echo $item['name'] . ' / ';
               if (count($item['children'])) {
                   menu($item['children']);
               }
               echo '<br />';
           }
       }
   }


menu(Lists());


از کد بالا برای پیمایش به صورت TreeView استفاده کردم که اگه تو تگ های ul و  li ازش استفاده کنین می توانید یک منوی آبشاری رو داشته باشین

برای پیمایش به صورت Breadcrumbs هم کافیه تابع List رو به این صورت بنویسید :


    function Lists($parent)
    {
       connect();
       $result = select("select * from category where Id = " . $parent);
       disconnect();

       $i = 0;
       $children = array();
       while($row = mysql_fetch_assoc($result)) 
       {
           $children[$i] = array();
           $children[$i]['id'] = $row['Id'];
           $children[$i]['name'] = $row['Name'];
           $children[$i]['children'] = Lists($row['ParentId_Fk']);
           $i++;
       }
       return $children;
   }


makeMenu(Lists('شماره آیدی فرزند باید وارد شود'));