[英]When I click to the next page on pagination,it goes to 404 error in codeigniter
In my News.php
controller,i'm having the below code:在我的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');
}
In my News_Model.php
model,The below code is exists:在我的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();
}
My view file index.php
shows :我的视图文件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>
In my config.php
:在我的config.php
:
<?php
$config['base_url'] = 'http://localhost/CodeIgniter-3.0.0/';
$config['index_page'] = 'index.php';
?>
If i remove $config['index_page'] = '';如果我删除 $config['index_page'] = ''; my other pages are not displayed.我的其他页面不显示。
In my route.php
:在我的route.php
:
<?php
$route['news/(:any)'] = 'news/index/$1'; //explain what does it actually means?
$route['news'] = 'news';
$route['default_controller'] = 'news/create';
$route['(:any)'] ='pages/view/$1';
?>
The above code displays like follow:上面的代码显示如下:
But when i click page 2
it shows as :但是当我点击page 2
它显示为:
Please don't suggest Link1 , Link2 and Link3 .I have seen the above links but no idea how to get it:(请不要建议Link1 , Link2和Link3 。我已经看到了上面的链接,但不知道如何获得它:(
Kindly guide me!!请指导我!!
in config.php在 config.php
$config['base_url'] = 'https://stackoverflow.com/';
$config['index_page'] = '';
in your router在您的路由器中
$route['news/(:any)'] = 'news/$1';
$route['news'] = 'news';
$route['default_controller'] = 'news/create';
$route['(:any)'] ='pages/view/$1';
and place .htaccess并放置 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
EDIT 01编辑 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');
Remove $config['use_page_numbers'] = TRUE;
删除$config['use_page_numbers'] = TRUE;
and then check.然后检查。
Also why you have 2 routes :还有为什么你有 2 条路线:
$route['news/(:any)'] = 'news/index/$1'; //explain what does it actually means?
$route['news'] = 'news';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.