Перейти к содержимому

Скрипт многоуровневого меню на php и mySQL

Выкладываю скрипт для обработки многоуровневого меню.
Если Вы захотели сделать меню на сайте с неограниченным вложением пунктов меню, вы можете воспользоваться данным скриптом.

Требования: php, mySQL

/*
ДАМП ТАБЛИЦЫ ДЛЯ МЕНЮ
CREATE TABLE `tt_menu` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`alt_name` varchar(255) NOT NULL,
`pos` tinyint(4) NOT NULL,
`par` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
*/

$dbpf = 'tt'; //префикс таблицы меню
//функция предварительного вызова обработчика меню
function sel_cat($par=0){
	global $dbpf; $out = '';
	if ($par==0) {$out = '

10 комментариев для “Скрипт многоуровневого меню на php и mySQL”

  1. Для заполнения таблицы вам необходимо внести данные
    `id` — номер автоматически (auto_increment)
    `name` — имя меню
    `alt_name` — альтернативное имя, для ЧПУ
    `pos` — позиция (сортировка пунктов меню)
    `par` — родитель

    id name par
    1 Главная 0
    2 О нас 0
    3 контакты 2
    4 проезд 2
    5 Продукция 0
    6 авто 5
    7 мото 5

    получим меню
    Главная
    О нас
    — контакты
    — проезд
    Продукция
    — авто
    — мото

  2. Разобрался но получается всего два уровня может дето баг ?
    Многоуровневое это ж
    Главная
    о нас
    контакты
    проезд итп…..
    с этим скриплом получается
    Главная
    о нас
    контакты
    проезд

  3. в пред коменте не получилось того что я набырал потому что были удалены пробелы
    хотелось бы знать можно зделать меню в виде дерева ? весь нет облазил ничего не нашел .

  4. Для многоуровневого меню:

    id____name____par
    1____Главная___0
    2____О нас_____0
    3____контакты__2
    4____проезд____2
    5____Продукция_0
    6____авто______5
    7____мото_____5
    8____honda____6
    9____opel______6

    получим меню
    Главная
    О нас
    ____контакты
    ____проезд
    Продукция
    ____авто
    _______honda — это третий уровень
    _______opel
    ____мото

  5. Уведомление: WD-1

  6. а может стоит одним запросом выбрать все категории в массив (или два массива), и уже продолжить работу с массивами?
    так кол-во запросов уменьшается до 1)))))

  7. Такой способ только нагружает сайт. Создавать многоуровневое меню можно и на CSS. Так намного проще и сайт будет бистрее работать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.