Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2019
Помог: 0 раз(а)
Всем привет! Недавно создал свой первый микро MVC для изучения PHP. Хотелось бы, по возможности, мне объяснить как дописать код. В общем, есть у меня категории блога. БД с структурой: id, title, slug, sub_category_id некоторые категории имеют вложенность в sub_category_id, по дефолту стоит 0. На данный момент код выглядит как
На данный момент код просто выводит список категорий. Не подскажите, как реализовать вывод полного пути, в зависимости от глубины подкатегорий? К примеру /blog/category1/category2/catego ry/article
RedEclipse
Отправлено: 08 Апреля, 2019 - 15:22:23
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2019
Помог: 0 раз(а)
Не уверен, насколько решение корректно, но пока сделал так:
$result=$db->query("SELECT content.id, content.title$lang,content.slug$lang, content.sub_category_id, category.slug$lang FROM blog_category AS content LEFT JOIN portal_blog AS category ON content.sub_category_id = category.id WHERE content.status='1' ORDER BY content.sort_order ASC");
Но это меня не совсем устраивает, данные все получается в строке и как нормально вывести полный путь каждой категории не понял, чтобы потом уже в шаблоне все вывести в виде foreach.
Решил попробовать сделать с помощью вывода в массиве, но проблема, при вызове функции " 'breadcrumb' => self::getBreadcrumb($row[3])" я получаю ошибку Too many connections. Можете подсказать, в чем проблема?
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
RedEclipse пишет:
и как нормально вывести полный путь каждой категории
чтобы без цикла запросов это matherialized path или nested sets как писал выше
у тебя простейший способ - списки смежных вершин
RedEclipse пишет:
Too many connections. Можете подсказать, в чем проблема?
не надо на каждый запрос создавать соединение
$db = Db::getConnection(); пусть хотя бы сохраняет соединение в приватное свойство и если оно уже установлено возвращает его вместо создания нового
RedEclipse
Отправлено: 22 Мая, 2019 - 15:06:10
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2019
Помог: 0 раз(а)
Я попытался сделать как ты сказал, модифицировал класс Db
Но теперь сервер при попытке выдать древо пишет
"Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes)". Нужно ли увеличить память у сервера или я опять сделал что-то не так?
LIME
Отправлено: 22 Мая, 2019 - 15:19:14
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.