Меню навигации для зц
1.
TRAIL (13.05.2012 / 10:50)
Нужно написать зц, появилась проблема
http://4mas.ru/download/?cat=8839 (не реклама)
интересует это:
Загрузки | Дизайны/CSS |
Простые/CSS-стили | Авторские Дизайны
с неограниченными категориями проблем нет, но вот как узнать путь , который прошел юзер, к примеру
/Загрузки/Музыка/Рок/и т.д.
Добавлено через 01:42 сек.
У таблицы такая структура,
id - ?!?
name - имя категории
pid - ид , в которой находится категория
2.
Tony V (13.05.2012 / 11:11)
Рекурсия.
while(родительская категория != "")
получаешь название и ид родительской категории.
формируешь строку
?????
Profit
3.
Сергей (13.05.2012 / 11:36)
я раньше делал тоже через рекурсию. Ну вообще не так уж и хорошо, тем более для загруз центра. В последний раз, когда мне это понадобилось. Я отсортировал строки при запросе, результат запроса записал в двумерный массив и потом уже его мучил рекурсией.
4.
Сергей (13.05.2012 / 11:52)
обращение функции к самой к себе.
function super () {
super();
}
5.
TRAIL (13.05.2012 / 18:09)
5.
Voland, рекурсия! Спасибо
6.
ramzes (13.05.2012 / 18:33)
Не надо запросы к бд в цикле делать.
По патчу одна выборка, в патч или весь путь до текущей папки, или все ид родительских деррикторий
7.
TRAIL (13.05.2012 / 18:33)
Еще вопрос, папки и файлы лучше хранить в одной таблице? Или
8.
Николай (13.05.2012 / 19:10)
9.
TRAIL, в разных(сортировку лучше делать в дальнейшем если потребуется) если смотреть со стороны ресурсов БД
Добавлено через 02:47 сек.
function menu_navigation($id_cat, $link, $cat)
{
$id_cat = intval($id_cat);
$query = "SELECT * FROM $cat
WHERE id_cat = $id_cat";
$cat = mysql_query($query);
if(!$cat)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка обращения к
таблице каталога
menu_navigation()");
}
if(mysql_num_rows($cat) > 0)
{
$cat_result = mysql_fetch_array($cat);
$link = "<a class=menu
href=index.php?id_par=".$cat_result['id_cat'].">
".$cat_result['name']."</a>->".$link;
$link = menu_navigation($cat_result['id_par'],
$link,
$cat);
}
return $link;
}
А вот так бы я поступил по первому твоему вопросу
9.
Богдан (13.05.2012 / 21:22)
7. Юзай лучше вложенные множества, если важно быстродействие при выборке
http://www.getinfo.ru/article610.html
10.
Сергей (14.05.2012 / 05:51)
Интересная статья, взял на заметку. Но по-моему метод который я описал проще, может конечно не такой правильный, но удалять и добавлять категории гораздо удобнее.
Добавлено через 01:06 сек.
11.
G_A_N_J_A_R, а ты этим пользуешься?
11.
Богдан (14.05.2012 / 12:52)
12. Зависит от поставленной задачи. Для нагруженных порталов с большой вложенностью только его и использую. Что бы не было проблем с добавлением/удалением используй класс для работы с деревом. в сети должны быть готовые решения
URL:
https://visavi.net/topics/31910