【发布时间】:2012-02-22 09:15:40
【问题描述】:
我正在使用 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 后缀,使 url 看起来像这样'http://localhost/project/admin/home/accounts.html'
而不是 'http://localhost/project/index.php/admin/home/accounts'
但如果我删除 config.php 中的 url_suffix
*/
$config['url_suffix'] = '';
/*
分页工作正常。但我想使用 url_suffix
*/
$config['url_suffix'] = '.html';
/*
但如果我这样做,分页不起作用,并显示 404 page not found 错误。我该如何解决这个问题?
【问题讨论】:
-
点击下一页时的网址是什么
-
如果你拿localhost/project/admin/home/accounts.php/2会不会工作
-
@sabari,不,它不会工作。在 url localhost 是服务器项目是包含整个项目的文件夹,admin 是包含管理控制器的子域,home 是类和帐户是家庭类的功能。'.html'只是codeigniter提供的额外后缀,如果我将其配置为。后缀是'.html'/'.php'/'.asp'或无,功能保持不变。
-
你能粘贴你的路由器配置吗
标签: php mysql pagination codeigniter-2