如何在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>

那么,如何为我的所有记录创建页面?

lovewang13 回答:如何在Codeigniter中显示类别

这确实是主观的,取决于您要如何处理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();
}
本文链接:https://www.f2er.com/3132895.html

大家都在问