Подтвердить что ты не робот

Каково использование сегмента $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) в codeigniter

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

4b9b3361

Ответ 1

Это позволяет вам получать информацию из ваших строк 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

Ответ 2

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

$этом- > 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'.

Ответ 3

По умолчанию функция возвращает 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);
}]

Ответ 4

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

Ответ 5

Скажем, у вас есть такой 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'