Есть таблица
Таблица категорий (Отобразить)
Есть скрипт который рекурсивно выводит категории в виде дерева
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $cat_p = filter_input_var($_GET['cprod']);
- //Выбираем данные из БД
- $result=do_query("SELECT * FROM tovars_categories");
- //Если в базе данных есть записи, формируем массив
- //В цикле формируем массив разделов, ключом будет id родительской категории, а также массив разделов, ключом будет id категории
- $cats_ID[$cat['id']][] = $cat;
- $cats[$cat['parent_id']][$cat['id']] = $cat;
- }
- }
- // echo '<pre>';
- // print_r($cats);
- // echo '</pre>';
- function build_tree($cats,$parent_id,$only_parent = false){
- if($only_parent==false){
- $tree = '<ul>';
- foreach($cats[$parent_id] as $cat){
- $tree .= '<li class="custom_id'.$cat['id'].'"><a class="" href="/?cprod='.$cat['id'].'">'.$cat['name'].'</a><span class="down"></span>';
- $tree .= build_tree($cats,$cat['id']);
- $tree .= '</li>';
- }
- $tree .= '</ul>';
- $cat = $cats[$parent_id][$only_parent];
- $tree = '<li class="custom_id'.$cat['id'].'"><a class="" href="/?cprod='.$cat['id'].'">'.$cat['name'].'</a><span class="down"></span>';
- $tree .= build_tree($cats,$cat['id']);
- $tree .= '</li>';
- }
- }
- else return null;
- return $tree;
- }
- function find_parent ($tmp, $cur_id){
- if($tmp[$cur_id][0]['parent_id']!=0){
- return find_parent($tmp,$tmp[$cur_id][0]['parent_id']);
- }
- return (int)$tmp[$cur_id][0]['id'];
- }