php - 如何在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>
那么,如何为我的所有记录创建一个页面?
解决方案
这真的很主观,这取决于你想如何处理你的 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:我在此代码段中使用了一个 slug,但您可以使用任何可以唯一标识数据库中您的类别行的东西。
<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();
}
推荐阅读
- csv - 使用 VBScript 从 CSV 文件中删除一列
- java - Java Crypto 尝试加密文件
- java - MILO:什么时候使用UaSubscription,什么时候使用ManagedSubscription,有什么区别?
- c++ - 循环的 C++ 链表
- mongodb - “brew services restart mongodb-community”在 brew services 列表下抛出错误状态。这是什么错误?
- git - 如何在 PyCharm Pro 中使用新的更改更新拉取请求?
- file - 文件名中“通用”的含义
- delphi - 如何将文件名从程序的第二个实例传递到主实例?
- java - Spring Boot 将 camelCase 字符串转换为 Enum
- kubernetes-helm - 等待 helm delete 再继续?