[size="4"][right]سلام چطوری یک لیست درختی را از دیتابیس بخونم و نشون بدم؟
مثلا جدول "دسته بندی" با فیلدهای زیر
id
title
parent_id
اکستنشنهای مختلفیو امتحان کردم ولی به جایی نرسیدم اگه کسی راه باحالی امتحان کرده ممنون میشم به من هم کمک کنه[/right][/size]
[size="4"][right]خیلی خوب بود دستت واقعا درد نکنه .
راه شما کاملا درسته ، من راه شما رو با یه روش دیگه ترکیبش کردم که در زیر نوشتم . البته نمیتونم ادعا کنم که از راه شما بهتره.[/right][/size]
// print children of a particular parent
public function printChildren($parent, $level=0) {
$criteria = new CDbCriteria;
$criteria->condition='parent_id=:id';
$criteria->params=array(':id'=>$parent);
$model = $this->findAll($criteria);
foreach ($model as $key) {
echo str_repeat(' — ', $level) . $key->title . "<br />";
$this->printChildren($key->id, $level+1);
}
}
// print complete category tree
public function printCategoryTree()
{
$command = Yii::app()->db->createCommand();
$command->select('id,title,parent_id')->from('tbl_category')->where('parent_id IS NULL');
$parents = $command->queryAll();
foreach($parents as $parent)
{
echo $parent['title'].'</br>';
$this->printChildren($parent['id']);
}
}