hear is my code
public function viewdeletedrecords()
{
if($this->session->userdata('applicant_firstname') == '')
{
redirect('papplicant/login') ;
}
$profile = $this->m_applicant->showdeletedrecods('','');
$total_rows = count($profile) ;
$config['base_url'] = base_url().'index.php/papplicant/viewdeletedrecords/' ;
$config['per_page'] = '10' ;
$config['full_tag_open'] = '<div>' ;
$config['full_tag_close'] = '</div>' ;
$config['first_link'] = 'First' ;
$config['last_link'] = 'Last' ;
$config['use_page_numbers'] = TRUE ;
$config['prev_link'] = '<' ;
$config['uri_segment'] = 3 ;
$config['num_links'] = 10 ;
$config['cur_tag_open'] = '<b>' ;
$config['cur_tag_close'] = '</b>' ;
$config['total_rows'] = $total_rows ;
$invoicepaginate = $this->m_applicant->showdeletedrecods( $config['per_page'], $this->uri->segment(3)) ;
$this->pagination->initialize($config);
$data4 = array(
'data' => $invoicepaginate
) ;
$this->load->view('applicant', $data4);
}
what is the use of $this->uri->segment(3)
in codeigniter
whan I enter $this->uri->segment(3);
it works as expected but when I enter $this->uri->segment(4);
it stops working
This provides you to retrieve information from your URI strings
$this->uri->segment(n); // n=1 for controller, n=2 for method, etc
Consider this example:
http://example.com/index.php/controller/action/1stsegment/2ndsegment
it will return
$this->uri->segment(1); // controller
$this->uri->segment(2); // action
$this->uri->segment(3); // 1stsegment
$this->uri->segment(4); // 2ndsegment
CodeIgniter User Guide says:
$this->uri->segment(n)
Permits you to retrieve a specific segment. Where n is the segment
number you wish to retrieve. Segments are numbered from left to right.
For example, if your full URL is this:
http://example.com/index.php/news/local/metro/crime_is_up
The segment numbers would be this:
1. news
2. local
3. metro
4. crime_is_up
So segment
refers to your url structure segment. By the above example, $this->uri->segment(3)
would be 'metro'
, while $this->uri->segment(4)
would be 'crime_is_up'
.
In your code $this->uri->segment(3)
refers to the pagination offset
which you use in your query. According to your $config['base_url'] = base_url().'index.php/papplicant/viewdeletedrecords/' ;
, $this->uri->segment(3)
i.e segment 3 refers to the offset. The first segment is the controller
, second is the method
, there after comes the parameters
sent to the controllers as segments
.
By default the function returns FALSE (boolean) if the segment does not exist. There is an optional second parameter that permits you to set your own default value if the segment is missing. For example, this would tell the function to return the number zero in the event of failure:
$product_id = $this->uri->segment(3, 0);
It helps avoid having to write code like this:
[if ($this->uri->segment(3) === FALSE)
{
$product_id = 0;
}
else
{
$product_id = $this->uri->segment(3);
}]
Let's say you have a url like this
http://www.example.com/controller/action/arg1/arg2
If you want to know what are the arguments that are being passed in this url
$param_offset=0;
$params = array_slice($this->uri->rsegment_array(), $param_offset);
var_dump($params);
Output will be:
array (size=2)
0 => string 'arg1'
1 => string 'arg2'