как отображать категории в codeigniter - PullRequest
0 голосов
/ 09 ноября 2019

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

. Я уже отображаю записи в своей базе данных, но не знаю, как установить 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>

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

1 Ответ

0 голосов
/ 10 ноября 2019

Это действительно субъективно, это зависит от того, как вы хотите обрабатывать ваши 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...