- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
наткнулся на статью хорошо описано про создания дерево категории, но функция вернет ответь в готовый html но я хочу получать дерево в массиве структура такая:
результат в виде html:
Вопрос: возможно ли получит дерево категории в виде массива не зависимо от вложенности при
получал массив дерево категории а не html
function build_hierarchy($arr, $id_key = 'id', $pid_key = 'parent_id') {
$structure = array();
while($elem = array_shift($arr)) {
if(isset($structure[ $elem[$id_key] ])) {
$elem['children'] = $structure[ $elem[$id_key] ];
unset($structure[ $elem[$id_key] ]);
} else
$elem['children'] = array();
if(isset($references[ $elem[$pid_key] ])) {
$references[ $elem[$pid_key] ]['children'][ $elem[$id_key] ] = $elem;
$references[ $elem[$id_key] ] =& $references[ $elem[$pid_key] ]['children'][ $elem[$id_key] ];
} else {
$structure[ $elem[$pid_key] ][ $elem[$id_key] ] = $elem;
$references[ $elem[$id_key] ] =& $structure[ $elem[$pid_key] ][ $elem[$id_key] ];
}
}
return array($structure);
}
Получаю ошибку почему то: Notice: Undefined offset: 0 in /dom/n/url/url/public_html/catalog/controller/common/home.php on line 40
Получаю ошибку почему то: Notice: Undefined offset: 0 in /dom/n/url/url/public_html/catalog/controller/common/home.php on line 40
Я вам дал рабочую функцию из рабочей программы. Поэтому какие-то проблемы у вас во входных данных.
Да нет данные отлично работает под тот код который я выкладывал такие вот данные:
(1, 0, 'Раздел 1'),
(2, 0, 'Раздел 2'),
(3, 0, 'Раздел 3'),
(4, 1, 'Раздел 1.1'),
(5, 1, 'Раздел 1.2'),
(6, 4, 'Раздел 1.1.1'),
(7, 2, 'Раздел 2.1'),
(8, 2, 'Раздел 2.2'),
(9, 3, 'Раздел 3.1');
$result=mysql_query("SELECT * FROM categories");
//Если в базе данных есть записи, формируем массив
if (mysql_num_rows($result) > 0){
$cats = array();
//В цикле формируем массив разделов, ключом будет id родительской категории, а также массив разделов, ключом будет id категории
while($cat = mysql_fetch_assoc($result)){
$cats_ID[$cat['id']][] = $cat;
$cats[$cat['parent_id']][$cat['id']] = $cat;
}
}
Да нет данные отлично работает под тот код который я выкладывал такие вот данные:
о чем вопрос то? вот же у вас в массиве $cats - "дерево в массиве"...
На этот вопрос ответили ребята из stackoverflow
А сортировка элементов то как идет? По id? А если понадобится порядок элементов изменить, например элементы местами поменять?
Дерево идет по id, и сортировку можно сделать тоже по id
Дерево идет по id, и сортировку можно сделать тоже по id
И что делать, если потребуется например элементы местами поменять? Имхо, нужно отдельное поле вводить для упорядочивания.