当我点击分页的下一页时,它会在 codeigniter 中出现 404 错误
When I click to the next page on pagination,it goes to 404 error in codeigniter
在我的 News.php
控制器中,我有以下代码:
public function index()
{
$data['title'] = 'Database Details';
$config = array();
$config['base_url'] = base_url("news/index");
$config['total_rows'] = $this->news_model->record_count();
$config['per_page'] = 5;
$config['uri_segment'] = 3;
//$config['use_page_numbers'] = TRUE;
// $config['page_query_string'] = TRUE;
$choice = $config["total_rows"] / $config["per_page"];
$config["num_links"] = round($choice);
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
//echo "page--".$page;
$data['user_data'] = $this->news_model->get_details($config['per_page'],$page);
$data['links'] = $this->pagination->create_links();
$this->load->view('templates/header');
echo $this->db->last_query();
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
}
在我的News_Model.php
模型中,存在以下代码:
public function get_details($limit,$start)
{
//echo "Limit---".$limit."</br>";
//echo "Start---".$start."</br>";
$this->db->limit($limit,$start);
$query = $this->db->get('user_data');
return $query->result_array();
}
我的视图文件 index.php
显示:
<h3>
<?php echo $title; ?>
</h3>
<table>
<thead>
<th>Name</th>
<th>Address</th>
<th>Email</th>
<th>Mobile</th>
</thead>
<tbody>
<?php
//print_r($user_data);
foreach ($user_data as $user_item):
?>
<tr>
<td><?php echo $user_item["user_name"];?></td>
<td><?php echo $user_item["address"];?></td>
<td><?php echo $user_item["email"];?></td>
<td><?php echo $user_item["mobile"];?></td>
<td><a href="edit?id=<?php echo $user_item["id"];?>">Edit</a></td>
<td><a href="delete?id=<?php echo $user_item["id"];?>">Delete</a></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
<p class="pagination"><?php echo $links; ?></p>
在我的 config.php
:
<?php
$config['base_url'] = 'http://localhost/CodeIgniter-3.0.0/';
$config['index_page'] = 'index.php';
?>
如果我删除 $config['index_page'] = '';我的其他页面没有显示。
在我的 route.php
中:
<?php
$route['news/(:any)'] = 'news/index/'; //explain what does it actually means?
$route['news'] = 'news';
$route['default_controller'] = 'news/create';
$route['(:any)'] ='pages/view/';
?>
以上代码显示如下:
但是当我点击 page 2
它显示为:
请不要推荐Link1, Link2 and Link3。我看过上面的链接,但不知道如何获取:(
请多多指教!!
删除$config['use_page_numbers'] = TRUE;
然后检查。
还有为什么你有 2 条路线:
$route['news/(:any)'] = 'news/index/'; //explain what does it actually means?
$route['news'] = 'news';
在config.php
$config['base_url'] = 'https://whosebug.com/';
$config['index_page'] = '';
在您的路由器中
$route['news/(:any)'] = 'news/';
$route['news'] = 'news';
$route['default_controller'] = 'news/create';
$route['(:any)'] ='pages/view/';
并放置 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
</IfModule>
编辑 01
<?php
$data['title'] = 'Database Details';
$count = $this->news_model->record_count()
$config['base_url'] = base_url(). 'index.php/news/index';
$config['total_rows'] = $count;
$config['per_page'] = 5;
$config['uri_segment'] = 3;
$limit = $config['per_page'];
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['user_data'] = $this->news_model->get_details($limit,$page);
$data['links'] = $this->pagination->create_links();
$this->load->view('templates/header');
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
在我的 News.php
控制器中,我有以下代码:
public function index()
{
$data['title'] = 'Database Details';
$config = array();
$config['base_url'] = base_url("news/index");
$config['total_rows'] = $this->news_model->record_count();
$config['per_page'] = 5;
$config['uri_segment'] = 3;
//$config['use_page_numbers'] = TRUE;
// $config['page_query_string'] = TRUE;
$choice = $config["total_rows"] / $config["per_page"];
$config["num_links"] = round($choice);
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
//echo "page--".$page;
$data['user_data'] = $this->news_model->get_details($config['per_page'],$page);
$data['links'] = $this->pagination->create_links();
$this->load->view('templates/header');
echo $this->db->last_query();
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
}
在我的News_Model.php
模型中,存在以下代码:
public function get_details($limit,$start)
{
//echo "Limit---".$limit."</br>";
//echo "Start---".$start."</br>";
$this->db->limit($limit,$start);
$query = $this->db->get('user_data');
return $query->result_array();
}
我的视图文件 index.php
显示:
<h3>
<?php echo $title; ?>
</h3>
<table>
<thead>
<th>Name</th>
<th>Address</th>
<th>Email</th>
<th>Mobile</th>
</thead>
<tbody>
<?php
//print_r($user_data);
foreach ($user_data as $user_item):
?>
<tr>
<td><?php echo $user_item["user_name"];?></td>
<td><?php echo $user_item["address"];?></td>
<td><?php echo $user_item["email"];?></td>
<td><?php echo $user_item["mobile"];?></td>
<td><a href="edit?id=<?php echo $user_item["id"];?>">Edit</a></td>
<td><a href="delete?id=<?php echo $user_item["id"];?>">Delete</a></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
<p class="pagination"><?php echo $links; ?></p>
在我的 config.php
:
<?php
$config['base_url'] = 'http://localhost/CodeIgniter-3.0.0/';
$config['index_page'] = 'index.php';
?>
如果我删除 $config['index_page'] = '';我的其他页面没有显示。
在我的 route.php
中:
<?php
$route['news/(:any)'] = 'news/index/'; //explain what does it actually means?
$route['news'] = 'news';
$route['default_controller'] = 'news/create';
$route['(:any)'] ='pages/view/';
?>
以上代码显示如下:
但是当我点击 page 2
它显示为:
请不要推荐Link1, Link2 and Link3。我看过上面的链接,但不知道如何获取:(
请多多指教!!
删除$config['use_page_numbers'] = TRUE;
然后检查。
还有为什么你有 2 条路线:
$route['news/(:any)'] = 'news/index/'; //explain what does it actually means?
$route['news'] = 'news';
在config.php
$config['base_url'] = 'https://whosebug.com/';
$config['index_page'] = '';
在您的路由器中
$route['news/(:any)'] = 'news/';
$route['news'] = 'news';
$route['default_controller'] = 'news/create';
$route['(:any)'] ='pages/view/';
并放置 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
</IfModule>
编辑 01
<?php
$data['title'] = 'Database Details';
$count = $this->news_model->record_count()
$config['base_url'] = base_url(). 'index.php/news/index';
$config['total_rows'] = $count;
$config['per_page'] = 5;
$config['uri_segment'] = 3;
$limit = $config['per_page'];
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['user_data'] = $this->news_model->get_details($limit,$page);
$data['links'] = $this->pagination->create_links();
$this->load->view('templates/header');
$this->load->view('news/index', $data);
$this->load->view('templates/footer');