我有以下MySQL表,我需要以正确的顺序输出结果。
function getYears() {
// init start year
var startYear = null;
if ( angular.isDefined (vm.project.startDateObject._d) ) {
startYear = parseInt(vm.project.startDateObject.format('YYYY'));
}
// init end year
var endYear = null;
if ( angular.isDefined(vm.project.endDateObject._d) ) {
endYear = parseInt(vm.project.endDateObject.format('YYYY'));
}
// init budgets
if (startYear && endYear) {
var years = [];
for (var i = startYear; i <= endYear; i++) {
years.push(i);
}
return years;
}
}
正确的顺序如下:
id title parent_id display_order level
20 company NULL 0 0
25 contact NULL 1 0
26 sales NULL 2 0
21 about 20 0 1
22 team 20 1 1
23 services 20 2 1
24 apps 23 0 2
我无法弄清楚如何通过&#34; level&#34;进行查询。然后&#34; display_order&#34;但要确保跟随父母的子项目。
我正在寻找一个MySQL答案,但如果您有关于如何使用PHP解析结果的建议,我也会考虑这一点。
非常感谢任何帮助!
答案 0 :(得分:0)
我经常使用php-function获取级别为
的数组类别public function getCategoryTreeForParentId($parent_id = 0) {
$categories = array();
$this->db->from('categories');
$this->db->where('parent_id', $parent_id);
$result = $this->db->get()->result();
foreach ($result as $mainCategory) {
$category = array();
$category['id'] = $mainCategory->id;
$category['name'] = $mainCategory->name;
$category['parent_id'] = $mainCategory->parent_id;
$category['sub_categories'] = $this->getCategoryTreeForParentId($category['id']);
$categories[$mainCategory->id] = $category;
}
return $categories;
}
当您在html中回显时,您可以依赖level
值来对类别进行分类