piterskiy

Вывод многоуровневого меню

Nov 25th, 2017
25,497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. ?>
Advertisement
Add Comment
Please, Sign In to add comment