我在codeigniter中有Admin控制器
class Admin extends CI_Controller {
function __construct() {
parent::__construct();
if (!$this->tank_auth->is_logged_in()) redirect('login');
$this->load->library('pagination');
}
function index() {
$offset = $this->uri->segment(2);
$config['per_page'] = 3;
$data['sitetitle'] = 'Výpis jobů';
$data['listings'] = $this->Jobs_model->get_listings(0,$user_id = FALSE,$config['per_page'],$offset);
$config['uri_segment'] = 2;
$config['base_url'] = base_url().'admin/';
$config['total_rows'] = $this->db->count_all_results('jobs');
$this->pagination->initialize($config);
$this->template->set('title', 'Domovská stránka');
$this->template->load('template', 'site', $data);
}
}
和Jobs_model
function get_listings($category, $user_id = false, $limit = 0, $offset = 0) {
$data = array();
$this->db->order_by('id', 'desc');
$q = $this->db->get('jobs');
if ($category) {
$options = array('category' => $category);
$this->db->order_by('id', 'desc');
$this->db->where('category', $category);
$q = $this->db->get('jobs', $limit, $offset);
}
else {
$query = $this->db->order_by('id', 'desc');
if ($user_id) $query = $query->where('user_id', $user_id);
$q = $query->get('jobs',$limit, $offset);
}
if ($q->num_rows() > 0) {
foreach ($q->result_array() as $row) {
$data[] = $row;
}
}
$q->free_result();
return $data;
}
paginatiom中的第一页获取数据,但在分页localhost / sitename / admin / 3中生成的链接产生404错误。 我脚本中的问题在哪里
答案 0 :(得分:4)
您需要更改:
$config['base_url'] = base_url().'admin/';
要:
$config['base_url'] = base_url().'admin/index/';
如果您需要该网址与admin/3
类似,则可以使用route或_remap
。
附注:考虑使用它来获取您的页码而不是URI类:
function index($offset = 0) {
// your code
}
它会做同样的事情,但是在可能的情况下使用控制器方法参数很方便。
答案 1 :(得分:1)
你需要做一些改变。
$config['base_url']=base_url().'admin/index';
变化
$config['uri_segment'] = 3;
检查您是否使用.htaccess。如果你不是,那么上面的$ config ['base_url']应该是
$config['base_url']=base_url().'index.php/admin/index';
答案 2 :(得分:0)
如果您在共点诽谤上遇到404错误,请检查以下内容:
1)检查你的控制器它的索引或其他东西,如果它的索引那么base_url应该是:
base_url().'admin/index/pages'
如果还有其他事情应该是:
base_url().'admin/somethingelse/pages'
2)检查' uri_segment'通过$this->uri->segment(4)
所以你得到了页码然后其他人就会做这个节目。