View difference between Paste ID: zb0wLiqk and QfYjGJUX
SHOW: | | - or go back to the newest paste.
1
<?php
2
3
#Вывод многоуровневого меню с неограниченным уровнем вложенности
4
#https://webformyself.com/vyvod-mnogourovnevogo-menyu-s-neogranichennym-urovnem-vlozhennosti/
5
6
$pagelist = $db->query("SELECT * FROM categories;");
7
$cat = array();
8
while ($echo = $pagelist->fetchArray()) {
9
$cat[$echo['parentid']][] = array('id' => $echo['id'], 'parentid' => $echo['parentid'], 'name' => $echo['name']);
10
}
11
12
//вывод каталога с помощью рекурсии
13
function view_cat($arr,$parent_id = 0) {
14
 //Условия выхода из рекурсии
15
 if(empty($arr[$parent_id])) {
16
  return;
17
 }
18
 echo '<ul>';
19
 //перебираем в цикле массив и выводим на экран
20
 for($i = 0; $i < count($arr[$parent_id]);$i++) {
21
  echo '<li><a href="?category_id='.$arr[$parent_id][$i]['id'].
22
 '&parent_id='.$parent_id.'">'
23
 .$arr[$parent_id][$i]['name'].'</a>';
24
  //рекурсия - проверяем нет ли дочерних категорий
25
  view_cat($arr,$arr[$parent_id][$i]['id']);
26
  echo '</li>';
27
 }
28
 echo '</ul>';
29
30
}
31
32
view_cat($cat);
33
?>