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