PHProgress
Новичок
Добрый день.
Имеется таблица - структура сайта.
CREATE TABLE IF NOT EXISTS `stucture` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
`title` char(32) NOT NULL,
`url` char(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `pid` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=56 ;
--
-- Дамп данных таблицы `stucture`
--
INSERT INTO `stucture` (`id`, `pid`, `title`, `url`) VALUES
(1, 0, 'Главная', ''),
(47, 43, 'Скачивание файла', 'download'),
(46, 43, 'Поиск по сайту', 'search'),
(6, 0, 'Студентам', 'students'),
(39, 6, 'Студенческий совет', 'studsovet'),
(38, 6, 'Работа для студентов', 'job'),
(37, 6, 'Учебно-методическое отделение', 'umo'),
(36, 6, 'Общежитие', 'hostel'),
(35, 6, 'Гранты и степендии', 'grants'),
(34, 6, 'Расписание', 'schedule'),
(40, 6, 'Форум', 'http://www.-forum.ru/'),
(41, 35, 'Вакансии', 'vacans'),
(42, 38, 'Резюме', 'rezum'),
(43, 0, 'Система', 'system'),
(45, 0, 'Новости', 'news'),
(48, 43, 'Авторизация', 'enter'),
(49, 43, 'Карта сайта', 'map'),
(50, 43, 'Страница не найдена', '404'),
(51, 43, 'Регистрация пользователя', 'user.reg'),
(52, 6, 'Главпочтамп', 'pochta'),
(54, 52, 'Студентам 2 - но со ссылкой stud', 'students'),
(55, 38, 'Вакансии 2 (ссылка vacans)', 'vacans');
При постоении дерева она принимает соответствующим вид на основе id и pid (родителя)
Создаю выбоку для адреса: http://mydom.ru/students/job/vacans.html
- students/job/vacans.html
И здесь выводятся лишние папки с одинаковыми названиями в результате выполнения запроса - нарушая при этом структуру дерева. Как их отфильтровать в соответствии со структурой.
1 0 Главная
6 0 Студентам (родитель)
38 6 Работа (дочка)
41 35 Вакансии vacans (не существует в структуре - как отсетить?)
55 38 Вакансии 2 (ссылка vacans) vacans (дочка)
54 52 Студентам 2 - но со ссылкой stud students (не существует в структуре - как отсетить?)
----
ПРОБЛЕМА и ВОПРОС.
Т.е. выводятся два лишни раздела - нарушая при этом структуру:
41 35 Вакансии vacans
54 52 Студентам 2 - но со ссылкой stud students
Как их автоматически отсеивать и зделать что-то вроде
при условиии что pid = существуующему id в данном запросе (кроме 0) - значит выводим строку?
Имеется таблица - структура сайта.
CREATE TABLE IF NOT EXISTS `stucture` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
`title` char(32) NOT NULL,
`url` char(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `pid` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=56 ;
--
-- Дамп данных таблицы `stucture`
--
INSERT INTO `stucture` (`id`, `pid`, `title`, `url`) VALUES
(1, 0, 'Главная', ''),
(47, 43, 'Скачивание файла', 'download'),
(46, 43, 'Поиск по сайту', 'search'),
(6, 0, 'Студентам', 'students'),
(39, 6, 'Студенческий совет', 'studsovet'),
(38, 6, 'Работа для студентов', 'job'),
(37, 6, 'Учебно-методическое отделение', 'umo'),
(36, 6, 'Общежитие', 'hostel'),
(35, 6, 'Гранты и степендии', 'grants'),
(34, 6, 'Расписание', 'schedule'),
(40, 6, 'Форум', 'http://www.-forum.ru/'),
(41, 35, 'Вакансии', 'vacans'),
(42, 38, 'Резюме', 'rezum'),
(43, 0, 'Система', 'system'),
(45, 0, 'Новости', 'news'),
(48, 43, 'Авторизация', 'enter'),
(49, 43, 'Карта сайта', 'map'),
(50, 43, 'Страница не найдена', '404'),
(51, 43, 'Регистрация пользователя', 'user.reg'),
(52, 6, 'Главпочтамп', 'pochta'),
(54, 52, 'Студентам 2 - но со ссылкой stud', 'students'),
(55, 38, 'Вакансии 2 (ссылка vacans)', 'vacans');
При постоении дерева она принимает соответствующим вид на основе id и pid (родителя)
Создаю выбоку для адреса: http://mydom.ru/students/job/vacans.html
- students/job/vacans.html
PHP:
SELECT * , 'при условиии что pid = существуующему id в данном запросе (кроме 0)' AS 'tmp' FROM `stucture`
WHERE `url`
IN ('', 'students', 'job', 'vacans')
#GROUP BY `url`
ORDER BY `pid`
LIMIT 0 , 30
1 0 Главная
6 0 Студентам (родитель)
38 6 Работа (дочка)
41 35 Вакансии vacans (не существует в структуре - как отсетить?)
55 38 Вакансии 2 (ссылка vacans) vacans (дочка)
54 52 Студентам 2 - но со ссылкой stud students (не существует в структуре - как отсетить?)
----
ПРОБЛЕМА и ВОПРОС.
Т.е. выводятся два лишни раздела - нарушая при этом структуру:
41 35 Вакансии vacans
54 52 Студентам 2 - но со ссылкой stud students
Как их автоматически отсеивать и зделать что-то вроде
при условиии что pid = существуующему id в данном запросе (кроме 0) - значит выводим строку?