слышишь мой код
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); }
каково использование $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'