Arhn - архитектура программирования

как отображать категории в codeigniter

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

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

Мой контроллер

 public function index(){
     $this->load->model('Model_Category');
     $data['row2']= $this->Model_Category->get_category();
     $this->load->view('view_page.php',$data);
 }

Мой взгляд

 <div class="row mb-4">
   <div class="items mr-2 ml-2">
     <?php foreach ($row2->result() as $key=>$data) : ?>
       <a class="text-light listcategory" href="#"><span><?=$data->name_cat?></span></a>    
     <?php endforeach; ?>
   </div>    
 </div>

Итак, как создать страницу для всех моих записей?

09.11.2019

  • если в ваших данных категорий есть какой-то ярлык, вы можете отобразить его на своем href, например href="<?php echo $data->slug_cat ?>" 10.11.2019

Ответы:


1

Это действительно субъективно, это зависит от того, как вы хотите обрабатывать свои URI. А вот для простого варианта контроллер выглядел бы так

class Categories extends CI_Controller {

    public function __construct() {
        // this makes working with urls easier
        $this->load->helper('url');
    }

    public function index() {
        $this->load->model('Model_Category');
        $data['row2']= $this->Model_Category->get_category();
        $this->load->view('view_page.php',$data);
    }

    // Below, handle the logic for displaying a single category
    public function details($slug) {
        $this->load->model('Model_Category');
        $data['row2']= $this->Model_Category->get_category_by_slug($slug);
        $this->load->view('view_details_page.php', $data);
    }

}

По вашему мнению, href определен следующим образом: я использую слаг в этом фрагменте, но вы можете использовать все, что будет однозначно идентифицировать строки вашей категории в вашей базе данных.

<div class="row mb-4">
    <div class="items mr-2 ml-2"> 
        <?php foreach ($row2->result() as $key => $data) : ?>
        <a class="text-light listcategory" href="<?= site_url('category/details/'.$data->slug) ?>">
            <span><?= $data->name_cat ?></span>
        </a>
        <?php endforeach; ?>    
    /div>
</div>

Наконец, в вашей модели запросите строку с одной категорией

public function get_category_by_slug($slug) {
    $this->db->select('column1, column2, column3');
    $this->db->from('categories_table');
    $this->db->where('unique_column', $sulg);

    return $this->db->get()->result();
}
10.11.2019
  • сведения о публичной функции ($ slug) { $this-›load-›model('Model_Category'); $data['row2']= $this-›Model_Category-›get_category_by_slug($slug); $this-›load-›view('view_details_page.php', $data); } ок, я немного понимаю, но мне интересно узнать об этой функции... значит, она будет отображать товары в каждой из этих категорий, верно? извините, если мой вопрос слишком странный .. спасибо за ваш ответ 12.11.2019
  • Это пример функции, показывающий, как отображать отдельные категории. Идея состоит в том, чтобы иметь уникальный способ идентифицировать категорию (по ее идентификатору или, возможно, слагу). Затем, используя этот уникальный идентификатор, запросите таблицу категорий, чтобы получить данные по этой категории. И, наконец, отобразить его в браузере. 13.11.2019
  • CodeIgniter имеет отличную документацию codeigniter.com/user_guide/tutorial/news_section.html. 13.11.2019
  • хорошо, спасибо за ваш ответ yesigye. сначала я изучу документацию 13.11.2019
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..