دسته و زیر دسته ها و طریقه نمایش محصولات هر دسته
سلام خدمت دوستان
من این سوالو تو بخش لاراول هم پرسیدم که اون سوال مختص لاراول هست ولی میخوام بدونم تو حالت عادی ( بدون فریم ورک ) به چه شکلی پیاده سازی میشه !
میخوام برای دسته های محصولاتم زیر دسته تعریف کنم که هر زیر دسته هم برای خودش زیر دسته هایی داره ( محدودیتی نداره و این ممکنه تا ۱۰ مرحله زیر دسته داشته باشه )
و اما سوال :
چطوری میتونم دسته ها و زیر دسته هارو به شکل درختی مرتب کنم ؟
دقیقا مثله وردپرس ( در بخش دسته ها اگر دقت کنید) ، اگر هم ندیدید ، ترتیب چینش دسته ها به شکل زیر هست :
خودرو
_ پراید
_سمند
__ سمند ال اکس
__ سمند طرح جدید
____ سمند طرح جدید با ایربک
____ سمند طرح جدید بدون ایربک
__ سمند ملی
____سمند ملی تیب ۱
____ سمند ملی تیپ ۲
در هر مرحله از زیر دسته ها ( زیر دسته ای که عضو دسته ی دیگه هست ) یک علامت آندرلاین ( _ ) قرار داره که مشخص کننده دسته و زیر دسته های اون هست .
سوال دوم : گفتیم هر دسته ، زیر دسته هایی داره !
اگر فرضا ما بخوایم محصولات دسته ” سمند ملی” رو نمایش بدیم ، باید محصولاتی که در زیر مجموعه ی اون هم هست به نمایش در بیاد مگر اینکه بخوایم محدود کنیم که فقط محصولات زیر دسته “سمند ملی تیپ ۲″ نمایش داده بشه .
برای این مورد هم اگر راهنماییم کنید ممنون میشم .
نقل قول: دسته و زیر دسته ها و طریقه نمایش محصولات هر دسته
انجمن پی اچ پی اینقدر فعالیت داره که تاپیک من به کل گم شد !
دوستان ، لطفا راهنماییم کنید .
نقل قول: دسته و زیر دسته ها و طریقه نمایش محصولات هر دسته
لینک ببین.
این کد یه نوع سادش که با space درستش کردم:لبخند:
function underScore($counter)
{
$return = '';
for ($i = 0; $i < $counter; $i++)
{
$return .= ' ';
}
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>";