我是CodeIgniter的新手,我想把我的网址从
至
在CI有路线。如何通过URL路由实现这一点?
我的表发布了
posts_id
posts_nameMy Home View (调用这些帖子)
我使用url标题作为url:
<a href="<?php echo base_url("{$v['posts_id']}/".url_title($v['posts_name'], "-", true)) ?>">我的职位控制器
<?php
defined('BASEPATH') OR exit ('No direct script access allowed');
class Posts extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Posts_model');
}
public function index()
{
show_404();
}
public function details($posts_id=NULL,$posts_name='') {
$data['title'] = $this->Posts_model->select_content_by_id($posts_id);
$data['data'] = $this->Posts_model->select_content_by_id($posts_id);
$this->load->view('posts',$data);
}
}我的帖子--模型
<?php
defined('BASEPATH') OR exit ('No direct script access allowed');
class Posts_model extends CI_Model{
public function dsPosts()
{
return $this->db->get('posts')->result_array();
}
public function select_content_by_id($posts_id)
{
return $this->db->where('posts_id',$posts_id)->get('posts')->result_array();
}
}我的路线
$route['default_controller'] = 'home';
$route['404_override'] = '';
$route['(:num)'] = 'posts/details/$1';
$route['(:num)/(:any)'] = 'posts/details/$1/$2';发布于 2018-12-13 17:27:06
你已经接近答案了
$route['(:any)-(:num)'] = 'posts/details/$2/$1';然后在视野中
<a href="<?php echo base_url(url_title($v['posts_name'], "-", true)."-{$v['posts_id']}".) ?>">就这样。但我建议您写得更清楚,因为您可以有多个控制器!如果您有注释控制器并希望从它获取数据,会发生什么?(:any)意味着它可以是任何东西。
https://stackoverflow.com/questions/53762596
复制相似问题