разбиение на страницы не работает должным образом в codeigniter 2.1.0 с суффиксом url


Я использую 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' и $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'] = '';

/*

Разбивка на страницы работает нормально. но я хочу использовать url_suffix

*/

$config['url_suffix'] = '.html';

/*

Но если я это сделаю, разбиение на страницы не сработает и покажет ошибку 404 страница не найдена. как мне устранить эту проблему?

Author: Shabib, 2012-01-30

3 answers

Я вижу много проблем в вашем коде. Но 1-е дело 1-е.

Положить

$this->uri->segment(4)

В вашем запросе в смещении.

Обновление: если вы еще не сделали mod_rewrite, добавьте'index.php "к твоему $config['base_url'].

Например. $config['base_url']=base_url().'index.php/admin/....';

Добавьте свой путь в приведенный выше код.

 5
Author: itachi, 2013-06-08 10:25:51

$config['base_url'] = site_url('admin/home/accounts');

В этой строке вам нужна обратная косая черта в конце, например

$config['base_url'] = site_url('admin/home/accounts/');

Обновление

Добавьте это в контроллер ur по-своему

$data['links']=$this->pagination->create_links();

Обновление Сумасшедшая идея, хотя я меньше знаю о codeigniter.

Переключайтесь между вашей моделью и контроллером. Вы уверены, что то, что вы называете контроллером, является контроллером в вашем коде? те же вопросы для модели.

Обновление Мои извинения, ваш базовый URL должен быть

$config['base_url'] = site_url('admin/home/accounts/index/');
 3
Author: S. M. Shahinul Islam, 2012-01-31 09:29:21

В системе -> 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.
.
.
}

$ конфигурация['суффикс'] ="пример"

Url_suffix для вашей разбивки на страницы ..........

 0
Author: Harsha, 2013-09-11 07:28:46