Sha*_*bib 4 php mysql pagination codeigniter-2
我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)
视图:
<?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;?>
Run Code Online (Sandbox Code Playgroud)
模型:
function all_user($per_page,$offset) //shows all uer info
{
$query = $this->db->get('user', $per_page, $offset);
$row=$query->result_array();
return $row;
}
Run Code Online (Sandbox Code Playgroud)
这是路线:
$route['default_controller'] = "site";
$route['404_override'] = '';
$route['admin']='admin/admin';
Run Code Online (Sandbox Code Playgroud)
我已经使用.htaccess mod_rewrite来删除我的index.php和$ config ['url_suffix'] ='.html'来添加.html的后缀,这使得url看起来像这样
'http://localhost/project/admin/home/accounts.html'
而不是'http://localhost/project/index.php/admin/home/accounts'
但如果我删除了url_suffix我的config.php
*/
$config['url_suffix'] = '';
/*
Run Code Online (Sandbox Code Playgroud)
分页工作正常.但我想使用url_suffix
*/
$config['url_suffix'] = '.html';
/*
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,分页不起作用,并显示404页面未找到错误.我该如何解决这个问题?
我在你的代码中看到很多问题.但第一件事第一.
放
$this->uri->segment(4)
Run Code Online (Sandbox Code Playgroud)
在您的查询中的偏移量.
更新:如果您还没有完成mod_rewrite,请将'index.php'添加到您的$config['base_url'].
例如
$config['base_url']=base_url().'index.php/admin/....';
在上面的代码中添加您的路径.
| 归档时间: |
|
| 查看次数: |
4658 次 |
| 最近记录: |