PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
RedEclipse
Отправлено: 08 Апреля, 2019 - 12:16:19
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2019  


Помог: 0 раз(а)




Всем привет! Недавно создал свой первый микро MVC для изучения PHP. Хотелось бы, по возможности, мне объяснить как дописать код. В общем, есть у меня категории блога. БД с структурой: id, title, slug, sub_category_id некоторые категории имеют вложенность в sub_category_id, по дефолту стоит 0. На данный момент код выглядит как

PHP:
скопировать код в буфер обмена
  1.     public static function getCategoryList()
  2.     {
  3.  
  4.         $db = Db::getConnection();
  5.  
  6.         $lang = self::Language();
  7.  
  8.         $categoryList = [];
  9.  
  10.         $result = $db->query("SELECT id, title$lang,slug$lang, sub_category_id FROM blog_category WHERE status='1' ORDER BY sort_order ASC");
  11.  
  12.         foreach($result as $row){
  13.             $categoryList[] = [
  14.                 'id' => $row[0],
  15.                 'title' => $row[1],
  16.                 'slug' => $row[2]
  17.             ];
  18.         }
  19.         return $categoryList;
  20.  
  21.  
  22.     }


В HTML:

CODE (html):
скопировать код в буфер обмена
  1.  
  2.    <h2>Categoies</h2>
  3.     <?php foreach ($category as $categoryItem): ?>
  4.         <h4><a href="/blog/<?php echo $categoryItem['slug']; ?>"><?php echo $categoryItem['title']; ?></a></h4>
  5.         <p><?php echo $categoryItem['id']; ?></p>
  6.     <?php endforeach; ?>


На данный момент код просто выводит список категорий. Не подскажите, как реализовать вывод полного пути, в зависимости от глубины подкатегорий? К примеру /blog/category1/category2/catego ry/article
 
 Top
RedEclipse
Отправлено: 08 Апреля, 2019 - 15:22:23
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2019  


Помог: 0 раз(а)




Не уверен, насколько решение корректно, но пока сделал так:

PHP:
скопировать код в буфер обмена
  1. $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");


А в самом шаблоне прописал

PHP:
скопировать код в буфер обмена
  1. <a href="/blog/<?PHP if ($categoryItem['sub_category']) echo $categoryItem['sub_category'] . '/'; ?><?PHP echo $categoryItem['slug']; ?>"><?PHP echo $categoryItem['title']; ?></a>

(Отредактировано автором: 08 Апреля, 2019 - 15:22:41)

 
 Top
LIME
Отправлено: 10 Апреля, 2019 - 17:48:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 10156
Дата рег-ции: Нояб. 2010  


Помог: 302 раз(а)




RedEclipse в целях обучения гугли matherialized path
есть и другие способы хранения иерархических структур в реляционной бд
nested sets например


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB