CodeIgniter - 用URL中的名称替换类别ID

时间:2016-10-22 19:45:04

标签: php codeigniter routes url-routing

我正在使用CodeIgniter开发一个项目,我的类别URL是:

  

http://localhost/SabLiveNew/category/ 4

但我希望路线看起来像

  

http://localhost/SabLiveNew/category/ NameOfCategory

有人可以帮帮我吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我不这么认为,所以我们可以在运行时将数字转换为文本。但您可以按照要求进行存档。

前:

<强>网址

http://localhost/SabLiveNew/category/NameOfCategory

在控制器中

public function category($getCategory)
{
    // set 01
    echo "Category is : ".$getCategory;

    // Set 02
    if ($getCategory== 'xyz') {
        echo "this is xyz Category ";
    } else {
        echo "This is not xyz category ";
    }

    // Set 03
    switch ($getCategory) 
    {
        case 'xyz':
            $category = "this is xyz Category";
            break;

        case 'abc':
            $category = "this is abc Category";
            break;

        case 'pqr':
            $category = "this is pqr Category";
            break;

        default:
            $category = "is not any matched category";
            break;
    }
    echo  $category;

}

答案 1 :(得分:0)

首先捕获url的最后一个索引

$record_num = end($this->uri->segment_array());
or
$last = $this->uri->total_segments();
$category = $this->uri->segment($last);

现在从数据库表中获取类别名称,在控制器中

$this->model_name->get_category($category);

在模型get_category函数中如下:

public function get_category($category){
$this->db->where('category_id',$category);
return $this->db->get('categories')->result_array();
}

在控制器函数中,调用此获取类别函数获取类别名称。

$category_info=$this->model_name->get_category($category);
$category_name=$category_info[0]['category_name'];

现在创建重定向网址;

$url=http://localhost/SabLiveNew/category/$category_name;

我认为http://localhost/SabLiveNew/是你的基本网址,所以试试这个

$url=base_url().'/category/'.$category_name;

终于重定向

redirect($url);

由于