it-swarm.com.ru

что такое использование $ 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); он перестает работать

17
nilesh

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

CodeIgniter User Guide говорит:

$ 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'.

14
geomagas

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

4
Nil'z

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

Это помогает избежать написания такого кода:

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

Допустим, у вас есть такой 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'
0
phpnerd