我正在使用codeigniter 2.1.0和mysql数据库。在我的管理面板中,我有一个页面,我想向所有用户显示分页视图。但它不起作用。在尝试了很多事情后,这是我的更新代码
控制器:
function accounts() // controller to view all users
{
$this -> load -> library('pagination');
$config['base_url'] = site_url('admin/home/accounts/');
$config['total_rows'] = $this->db->get('user')->num_rows();
$config['per_page'] = 2;
$config['num_links'] = 2;
$config['full_tag_open'] = '<p id="pagination">';
$config['full_tag_close'] = '</p>';
$offset = $this->uri->segment(4,0);
$this->pagination->initialize($config);
$this->load->model('admin_model');
$data['user_data']=$this->admin_model->all_user($config['per_page'],$offset);
$data['links']=$this -> pagination -> create_links();
$data['main_content']='admin/accounts';
$this->load->view('includes/admin/admin_template',$data);
}
视图:
<?php foreach ($user_data as $data) {?>
<?php echo 'Name:' . ' ' ?>
<?php echo ($data['name']).'<br/>'; ?>
<?php echo 'E-mail:' . ' ' ?>
<?php echo ($data['email']).'<br/>'; ?>
<br />
<?php } ?>
<?php echo $links;?>
模型:
function all_user($per_page,$offset) //shows all uer info
{
$query = $this->db->get('user', $per_page, $offset);
$row=$query->result_array();
return $row;
}
这是路线:
$route['default_controller'] = "site";
$route['404_override'] = '';
$route['admin']='admin/admin';
我已经使用.htaccess mod_rewrite删除了我的index.php和$ config ['url_suffix'] ='。html'来添加后缀.html,这使得网址看起来像这样{{{ 1}}而不是
'http://localhost/project/admin/home/accounts.html'
但如果我删除了config.php中的url_suffix
'http://localhost/project/index.php/admin/home/accounts'
分页工作正常。但我想使用url_suffix */
$config['url_suffix'] = '';
/*
但如果我这样做,分页不起作用,并显示404页面未找到错误。我该如何解决这个问题?
答案 0 :(得分:5)
我在你的代码中看到了很多问题。但第一件事第一。
把
$this->uri->segment(4)
在您的查询中的偏移量。
更新:如果您尚未完成mod_rewrite
,请将“index.php”添加到$config['base_url']
。
E.g。
$config['base_url']=base_url().'index.php/admin/....';
在上面的代码中添加您的路径。
答案 1 :(得分:3)
$config['base_url'] = site_url('admin/home/accounts');
在这一行中你最后需要一个背板,如
$config['base_url'] = site_url('admin/home/accounts/');
<强>更新强>
以您的方式将此添加到您的控制器
$data['links']=$this->pagination->create_links();
<强>更新强> 虽然我对codeigniter知之甚少,但这是一个疯狂的想法。
在您的型号和控制器之间切换。你确定你所谓的控制器是你的代码中的控制器吗?同样的模型问题。
<强>更新强> 我的道歉,你的基本网址应该是
$config['base_url'] = site_url('admin/home/accounts/index/');
答案 2 :(得分:0)
- &gt; Pagination.php文件(默认设置)
class CI_Pagination {
var $base_url = ''; // The page we are linking to
var $prefix = ''; // A custom prefix added to the path.
var $suffix = ''; // A custom suffix added to the path.
.
.
}
$ config ['suffix'] =“example”
你的分页的Url_suffix ..........