|
|
|
| Как на php отображать иерархическое меню каталогов и подкаталогов | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 10:21)
| | php ничего не отображает. | |
|
|
|
|
|
|
|
для: elenaki
(14.10.2013 в 11:05)
| | Для отображения в браузере выводить иерархическое меню используя PHP, а не JavaScript. | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 11:37)
| | используя PHP можно выполнить запрос к базе, получить данные. А выводить/отображать эти
данные будет HTML, с использованием javascript или без. PHP - серверный язык и в браузере он
ничего не отображает. | |
|
|
|
|
|
|
|
для: elenaki
(14.10.2013 в 17:15)
| | хм...выводить то будет как раз таки php (echo/print/etc), только в HTML-формате | |
|
|
|
|
|
|
|
для: elenaki
(14.10.2013 в 17:15)
| | рнр просто выводит в поток, а дальше все по конвееру, ну не расписывать все подробно же на
1 000 000 строк, что происходит при передачи по сети и в браузере.
Я написал сокращенно о том, что должно быть результатом работы скрипта.
Т.е выводить окончательно не в массив, не в файл, а ОТОБРАЖАТЬ на экране монитора в браузере.
Я не знаю вы специально уводите от сути вопроса или просто не понимаете вопроса.
ВЫ СУЩНОСТЬ ВОПРОСА ПОНИМАЕТЕ? | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 10:21)
| | Ищите на форуме - очень много раз обсуждали (tree, рекурсия, Trianon - испольхуйте эт ключевые слова) | |
|
|
|
|
|
|
|
для: mihdan
(14.10.2013 в 18:28)
| | А меня-то за что? | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2013 в 18:35)
| | Ой! Трианон вернулся! Соскучилась ;) | |
|
|
|
|
|
|
|
для: mihdan
(14.10.2013 в 18:28)
| | Есть на JavaScript, а на PHP не нашел,
Только у Колисниченко "Движок для вашего сайта". Но там, что то наворочено несколько путано | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 10:21)
| | данные каталогов и подкаталогов лежат в базе? | |
|
|
|
|
|
|
|
для: psychomc
(14.10.2013 в 18:46)
| | 1|1-1 Дисковые пилы для стали|0|информация
2|1-2 Дисковые пилы для алюминия|0|информация
3|1-3 Линии обработки стальных профилей|0|информация
4|1-4 Центры обработки листового металла|0|информация
5|2-5 Отрезные станки|3|информация
6|2-6 Линии сверления профилей|3|информация
7|2-7 Роботы для обработки профилей|3|информация
8|3-8 Уровень/id|5|информация
9|3-9 Уровень/id|5|информация
10|4-10 Уровень/id|8|информация
идентификатор категории | название категории | идентификатор родителя | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 19:49)
| | можете отталкивать от этого
<?php
function recursion(array $array, array &$result, $key, $parent_key, $start = 0) {
foreach ($array as $k=>$v) {
if ($v[$parent_key] === $start) {
$result[] = $v;
unset($array[$k]);
recursion($array, $result, $key, $parent_key, $v[$key]);
}
}
}
$categories = array(
array(
'id' =>1,
'name'=>'category 1',
'pid' =>0,
),
array(
'id' =>2,
'name'=>'category 2',
'pid' =>0,
),
array(
'id' =>3,
'name'=>'category 3',
'pid' =>0,
),
array(
'id' =>4,
'name'=>'category 1.1',
'pid' =>1,
),
array(
'id' =>5,
'name'=>'category 1.2',
'pid' =>1,
),
array(
'id' =>6,
'name'=>'category 2.1',
'pid' =>2,
),
array(
'id' =>7,
'name'=>'category 3.1',
'pid' =>3,
),
array(
'id' =>8,
'name'=>'category 2.1.1',
'pid' =>2,
),
array(
'id' =>9,
'name'=>'category 3.1.1',
'pid' =>7,
),
);
$result = array();
recursion($categories, $result, 'id', 'pid');
echo '<pre>';
print_r($result);
?>
|
| |
|
|
|
|
|
|
|
для: psychomc
(15.10.2013 в 11:47)
| | Пока не очень понял Ваш код, буду смотреть позже | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 10:21)
| | Лучше всего извлечь содержимое меню каталога или подкаталога в память, а потом разобрать этот список при помощи рекурсивной функции. | |
|
|
|
|
|
|
|
для: cheops
(14.10.2013 в 21:12)
| | Ни как. Тут сть выделенная (активизированная) категория и структура зависит от нее.
Это типа как http://my-shop.ru/shop/catalogue/3397/sort/a/page/1.html
\
\ косая ветвь
\
\_ Выделенная категория
|
| вертикальная ветвь
|
|
2 цикла получается.
Если выводить все корни, то 3 цикла получается | |
|
|
|
|
|
|
|
для: Вопросик
(14.10.2013 в 21:33)
| | Рассмотрите такую структуру хранения данных.
Она на первый взгляд достаточно сложна, но эффективна и универсальна. | |
|
|
|
|
|
|
|
для: Sfinks
(15.10.2013 в 09:45)
| | Чем эта плоха | |
|
|
|
|
|
|
|
для: Вопросик
(24.10.2013 в 15:59)
| | во-первых - решения я так и не увидел, вы тоже не пишете, что решили, а по ссылке - решение готово
во-вторых - ваша структура предполагает либо обращение к БД в цикле, что всегда плохо. Либо вытаскивание в ПХП всей структуры и рекурсивный разбор данных. Что медленно.
По ссылке же представлена структура, из которой вы можете одним запросом к БД выбрать любой срез дерева: Уровень, ветку, всех родителей и т.п. | |
|
|
|
|
|
|
|
для: Sfinks
(25.10.2013 в 08:04)
| | Хотелось услышать доки, что лучше.
Одноого афиширования декларации, извините, но любому недостаточно
Хотелось бы аргументироать.
Если нет аргументов, то факт не существует. | |
|
|
|
|
|
|
|
для: Вопросик
(30.10.2013 в 13:23)
| | Правда думаете, что больше нечего делать кроме как кого-то в чем-то убеждать?
Можно включить голову и подумать самому что лучше и почему.
А если не хотите, то я за вас это делать не собираюсь.
Репетиторством не увлекаюсь. | |
|
|
|