Проблема с “деревом” категорий в БД

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 2 января 2016 в 13:07
Друзья, всех с наступившим НГ! Возникла такая проблема Исправил целостность деревьев теперь вылазит при открытии сайта такая проблема


DATABASE ERROR:
SELECT
c.*,
c.pubdate as fpubdate,
c.id as bid,
cat.title as category,
u.nickname as author,
u.login as author_login
FROM cms_content c
LEFT JOIN cms_category cat ON cat.id = c.category_id
LEFT JOIN cms_users u ON u.id = c.user_id
WHERE c.published = 1 AND (c.is_end=0 OR (c.is_end=1 AND c.enddate >= '2016-01-02 14:10:21' AND c.pubdate <= '2016-01-02 14:10:21'))
AND (cat.NSLeft >= AND cat.NSRight <= )
ORDER BY fpubdate DESC
LIMIT 4
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND cat.NSRight <= ) ORDER BY fpubdate DESC LIMIT 4' at line 12
#2 2 января 2016 в 15:14
Ветка? Версия?
Как "исправлял деревья"?
телепатов нету.
#3 2 января 2016 в 16:15

Ветка? Версия?
Как "исправлял деревья"?
телепатов нету.

Странник


Есть телепаты, jokeпервая ветка, исправлял типовым способом, теперь поможет только откат и ручками исправить.
#5 2 января 2016 в 20:06
где исправлять? понятно что базе что именно исправлять
#6 2 января 2016 в 20:56

где исправлять? понятно что базе что именно исправлять

varer4ik
Ну начинать наверное стоит с той таблицы, которую показывает ошибка — cms_content.Если не сможете сладить с утилитой Странника, то идёте курить манны по вложенным множествам.
#7 2 января 2016 в 21:24
утилита не берет 'cms_content' выводит пустую страницу
#8 2 января 2016 в 21:33
У вас большая таблица cms_content?
#9 2 января 2016 в 21:36
И я ошибся.Вам нужна cms_category.
#10 2 января 2016 в 21:49
большая, в cms_category вроде все красиво, что там менять?
#11 2 января 2016 в 22:21

большая, в cms_category вроде все красиво, что там менять?

varer4ik
Откройте её в утилите для начала.
#12 2 января 2016 в 22:27


большая, в cms_category вроде все красиво, что там менять?

varer4ik
Откройте её в утилите для начала.

Lora

написал в личку
#13 2 января 2016 в 22:56
Ну, если на вскидку, то у вас parent_id например везде равен 1, кроме корня, а степень вложенности максимальная 2.Получается что у вас нет подразделов.Смотрите что во что вложено и поменяйте parent_id. А потом проверяйте NS-ы, если не поправится.
#14 2 января 2016 в 23:09


Ну, если на вскидку, то у вас parent_id например везде равен 1, кроме корня, а степень вложенности максимальная 2.Получается что у вас нет подразделов.Смотрите что во что вложено и поменяйте parent_id. А потом проверяйте NS-ы, если не поправится.

Lora

все равно окно при входе на сайт тоже
DATABASE ERROR:
SELECT
c.*,
c.pubdate as fpubdate,
c.id as bid,
cat.title as category,
u.nickname as author,
u.login as author_login
FROM cms_content c
LEFT JOIN cms_category cat ON cat.id = c.category_id
LEFT JOIN cms_users u ON u.id = c.user_id
WHERE c.published = 1 AND (c.is_end=0 OR (c.is_end=1 AND c.enddate >= '2016-01-02 23:07:59' AND c.pubdate <= '2016-01-02 23:07:59'))
AND (cat.NSLeft >= AND cat.NSRight <= )
ORDER BY fpubdate DESC
LIMIT 4
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND cat.NSRight <= ) ORDER BY fpubdate DESC LIMIT 4' at line 12
#15 2 января 2016 в 23:21
А теперь набираем в поиске "вложенные множества" и разбираемся, а затем смотрим свою таблицу и выставляем всё как должно.По другому никак, если утилита ничего не кажет.Ну или очищаете таблицу и всё заносите по новой.В принципе у вас всего 17 категорий, сделайте копию, удалите таблицу, залейте новую, создайте категории в админке и затем допишите в базу что надо.Только что бы новые id те же стали.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.