PDA

View Full Version : دسته و زیر دسته ها و طریقه نمایش محصولات هر دسته



rahahost
یک شنبه 16 آذر 1393, 17:52 عصر
سلام خدمت دوستان

من این سوالو تو بخش لاراول هم پرسیدم که اون سوال مختص لاراول هست ولی میخوام بدونم تو حالت عادی ( بدون فریم ورک ) به چه شکلی پیاده سازی میشه !


میخوام برای دسته های محصولاتم زیر دسته تعریف کنم که هر زیر دسته هم برای خودش زیر دسته هایی داره ( محدودیتی نداره و این ممکنه تا ۱۰ مرحله زیر دسته داشته باشه )
و اما سوال :

چطوری میتونم دسته ها و زیر دسته هارو به شکل درختی مرتب کنم ؟

دقیقا مثله وردپرس ( در بخش دسته ها اگر دقت کنید) ، اگر هم ندیدید ، ترتیب چینش دسته ها به شکل زیر هست :

خودرو
_ پراید
_سمند
__ سمند ال اکس
__ سمند طرح جدید
____ سمند طرح جدید با ایربک
____ سمند طرح جدید بدون ایربک
__ سمند ملی
____سمند ملی تیب ۱
____ سمند ملی تیپ ۲



در هر مرحله از زیر دسته ها ( زیر دسته ای که عضو دسته ی دیگه هست ) یک علامت آندرلاین ( _ ) قرار داره که مشخص کننده دسته و زیر دسته های اون هست .
سوال دوم : گفتیم هر دسته ، زیر دسته هایی داره !
اگر فرضا ما بخوایم محصولات دسته ” سمند ملی” رو نمایش بدیم ، باید محصولاتی که در زیر مجموعه ی اون هم هست به نمایش در بیاد مگر اینکه بخوایم محدود کنیم که فقط محصولات زیر دسته “سمند ملی تیپ ۲″ نمایش داده بشه .
برای این مورد هم اگر راهنماییم کنید ممنون میشم .

rahahost
چهارشنبه 19 آذر 1393, 22:37 عصر
انجمن پی اچ پی اینقدر فعالیت داره که تاپیک من به کل گم شد !


دوستان ، لطفا راهنماییم کنید .

***BiDaK***
پنج شنبه 20 آذر 1393, 09:07 صبح
لینک (http://phpflow.com/php/how-to-create-dynamic-tree-view-menu/) ببین.

این کد یه نوع سادش که با space درستش کردم:لبخند:

function underScore($counter)
{
$return = '';
for ($i = 0; $i < $counter; $i++)
{
$return .= '&nbsp;';
}
return $return;
}


function categoryList($parent, $array, $level = 0)
{
foreach ($array as $value)
{
if ($value['parent'] == $parent)
{
if ($value['parent'])
{
$level = ($value['parent'] == $level ? $level : $level + 1);
}
else
{
$level = 0;
}


echo "<li>". underScore($level * 4) . $value['name'] ."</li>";
categoryList($value['id'], $array, $level);
$level--;
}
}
}


mysql_connect('localhost', 'root', '');
mysql_select_db('test');
mysql_query('set names utf8');
$result = mysql_query("select * from cat");
while ($row = mysql_fetch_assoc($result))
{
$array[$row['id']] = array('id'=>$row['id'], 'name'=>$row['name'], 'parent'=>$row['parent']);
}
echo "<ul style='list-style: none;'>";
categoryList(0, $array);
echo "</ul>";