it-swarm.com.de

was ist die Verwendung von $ this-> uri-> segment (3) bei der Codeigniter-Paginierung

höre mein 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'] = '&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);

}

was ist die Verwendung von $this->uri->segment(3) in Codeigniter 

wenn ich $this->uri->segment(3); eingebe, funktioniert es wie erwartet, aber wenn ich $this->uri->segment(4); eingebe, funktioniert es nicht mehr

17
nilesh

Auf diese Weise können Sie Informationen aus Ihren URI-Zeichenfolgen abrufen

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

Betrachten Sie dieses Beispiel:

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

es wird wiederkommen 

$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 sagt:

$ this-> uri-> segment (n)

Erlaubt Ihnen, ein bestimmtes Segment abzurufen. Wobei n das Segment ist Nummer, die Sie abrufen möchten. Die Segmente sind von links nach rechts nummeriert. Wenn Ihre vollständige URL beispielsweise folgendermaßen lautet: http://example.com/index.php/news/local/metro/crime_is_up

Die Segmentnummern wären dies:

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

segment bezieht sich also auf Ihr URL-Struktursegment. Im obigen Beispiel wäre $this->uri->segment(3)'metro', während $this->uri->segment(4)'crime_is_up' wäre.

14
geomagas

In Ihrem Code bezieht sich $this->uri->segment(3) auf die Paginierung offset, die Sie in Ihrer Abfrage verwenden. Entsprechend Ihrer $config['base_url'] = base_url().'index.php/papplicant/viewdeletedrecords/' ; bezieht sich $this->uri->segment(3) auf Segment 3. Das erste Segment ist controller, das zweite ist method, danach folgt das parameters, das als segments an die Steuerungen gesendet wird.

4
Nil'z

Standardmäßig gibt die Funktion FALSE (boolean) zurück, wenn das Segment nicht vorhanden ist. Es gibt einen optionalen zweiten Parameter, mit dem Sie Ihren eigenen Standardwert festlegen können, wenn das Segment fehlt. Dies würde beispielsweise die Funktion anweisen, im Fehlerfall die Zahl Null zurückzugeben: $ Product_id = $ this-> uri-> segment (3, 0);

Es hilft zu vermeiden, Code wie folgt schreiben zu müssen:

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

Nehmen wir an, Sie haben eine URL wie diese http://www.example.com/controller/action/arg1/arg2

Wenn Sie wissen möchten, welche Argumente in dieser URL übergeben werden

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

Ausgabe wird sein:

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