PDA

View Full Version : مشکل با ساخت دسته بندی تو در تو یا درختی



nariman_t
دوشنبه 10 مهر 1396, 15:07 عصر
یه جدول داریم با دو تا فیلد با نام ای دی دسته و نام دسته جدول دیگه ای هم داریم که برای دسته بندی تو در تو هست با دو فیلد دسته فرزند و داسته والد میدونم که طراحی جداول به همین گونه هست ولی اگه میشه الگوریتم و کد نویسی چیزی اگه دارید برام اینجا بزارید

nariman_t
دوشنبه 17 مهر 1396, 16:14 عصر
ای بابا یعنی عهیچکی نیست یادمون بده؟ یا منبعی کعه اموزش داده باشه به صورت انگلیسی هم اگه باشه

hmkhafan
جمعه 28 مهر 1396, 10:09 صبح
سلام
لطفا بیشتر توضیح بدید، اینجا و هرجای دیگه ای کسی نمیاد از پایه به شما یاد بده شما باید اینجا قشنگ توضیح بدی میخوای چیکار کنی و تا کجا پیش رفتی و اگه لازمه باید کدت رو بذاری و یا حتی تصویر از جدوال دیتابیس تا بشه راهنمایی کرد.

nariman_t
یک شنبه 30 مهر 1396, 14:39 عصر
خوب من به صورت اکتیو کوئری لازم داشتم ولی با استفاده از doa‌نوشتم که خوب کار رو راه میندازه ولی با اکتیو رکورد باشه بهتره کارهایی که انجام دادم رو با تصویر میزام تا شاید بقیه هم استفاده کنن ولی باز میگم به صورت اکتیو کوئری میخوام باشه
146870

خوب کدها به این صورت هستن


public function fetchCategoryTree($parent = 0, $spacing = '', $user_tree_array = '') {


if (!is_array($user_tree_array))
$user_tree_array = array();
$sql = 'SELECT * FROM product_category where active=1 and id_parent=:parent;';
$con=Yii::$app->db->createCommand($sql)->bindValue(':parent',$parent)->queryAll();

if (count($con) > 0) {
foreach ($con as $row) {
$user_tree_array[] = array("id" => $row['id_category'], "name" => $spacing . $row['name']);
$user_tree_array = self::fetchCategoryTree($row['id_category'], $spacing . ' ', $user_tree_array);
}
}
return $user_tree_array;
}



کدهای بالا برای استفاده در select هستش ئ کدهای پایین به صورت ul li هست


public function fetchCategoryTreeList($parent = 0, $user_tree_array = '') {

if (!is_array($user_tree_array))
$user_tree_array = array();


$sql = 'SELECT * FROM product_category where active=1 and id_parent=:parent;';
$con=Yii::$app->db->createCommand($sql)->bindValue(':parent',$parent)->queryAll();

if (count($con) > 0) {

$user_tree_array[] = "<ul class='nav navbar-nav ntul'>";
foreach ($con as $row) {
$user_tree_array[] = "<li>".Html::a($row['name'],['/category/view','id'=>$row['id_category']])."</li>";
$user_tree_array = self::fetchCategoryTreeList($row['id_category'], $user_tree_array);
}
$user_tree_array[] = "</ul>";
}
return $user_tree_array;
}





همین توابع رو به ویو انتقال میدم تنها راهی که فعلا پیدا کردم همین بود راهی برای تبدیل این به active query توی مدل میدونید بگید اگه میشه جدولمم یدونه هست که دارای id و parentid هست تو کدهامم نوشتم معلومه