каково использование сегмента $ this-> uri-> (3) в разбиении на страницы кода

слышишь мой код

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'] = '&lt;' ; $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); } 

каково использование $this->uri->segment(3) в кодеригенере

куда я вхожу в $this->uri->segment(3); он работает как ожидалось, но когда я вхожу в $this->uri->segment(4); он перестает работать

Это дает вам возможность получать информацию из строк URI

 $this->uri->segment(n); // n=1 for controller, n=2 for method, etc 

Рассмотрим этот пример:

http://example.com/index.php/controller/action/1stsegment/2ndsegment

он вернется

 $this->uri->segment(1); // controller $this->uri->segment(2); // action $this->uri->segment(3); // 1stsegment $this->uri->segment(4); // 2ndsegment 

Руководство пользователя CodeIgniter говорит:

$ This-> uri-> сегмент (п)

Позволяет вам получить определенный сегмент. Где n – номер сегмента, который вы хотите получить. Сегменты пронумерованы слева направо. Например, если ваш полный URL-адрес: http://example.com/index.php/news/local/metro/crime_is_up

Номера сегментов будут такими:

 1. news 2. local 3. metro 4. crime_is_up 

Таким образом, segment относится к вашему сегменту структуры URL. В приведенном выше примере $this->uri->segment(3) будет 'metro' , а $this->uri->segment(4) будет 'crime_is_up' .

В вашем коде $this->uri->segment(3) относится к offset страницы, которое вы используете в своем запросе. Согласно вашей $config['base_url'] = base_url().'index.php/papplicant/viewdeletedrecords/' ; , $this->uri->segment(3) т. е. сегмент 3 относится к смещению. Первый сегмент – это controller , второй – method , после чего parameters передаются контроллерам в виде segments .

По умолчанию функция возвращает FALSE (boolean), если сегмент не существует. Существует необязательный второй параметр, который позволяет вам установить собственное значение по умолчанию, если сегмент отсутствует. Например, это говорит о том, что функция возвращает число в случае неудачи: $ product_id = $ this-> uri-> segment (3, 0);

Это помогает избежать необходимости писать код следующим образом:

 [if ($this->uri->segment(3) === FALSE) { $product_id = 0; } else { $product_id = $this->uri->segment(3); }] 

Предположим, у вас есть такой URL-адрес: http://www.example.com/controller/action/arg1/arg2

Если вы хотите узнать, какие аргументы передаются в этом URL-адресе

 $param_offset=0; $params = array_slice($this->uri->rsegment_array(), $param_offset); var_dump($params); 

Выход будет:

 array (size=2) 0 => string 'arg1' 1 => string 'arg2'