web-dev-qa-db-fra.com

quelle est l'utilisation de $ this-> uri-> segment (3) dans la pagination codeigniter

écoute est mon 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);

}

quelle est l'utilisation de $this->uri->segment(3) dans codeigniter 

whan j'entre $this->uri->segment(3); cela fonctionne comme prévu mais quand j'entre $this->uri->segment(4); il cesse de fonctionner

17
nilesh

Cela vous permet de récupérer des informations à partir de vos chaînes d'URI

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

Considérons cet exemple:

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

il reviendra 

$this->uri->segment(1); // controller
$this->uri->segment(2); // action
$this->uri->segment(3); // 1stsegment
$this->uri->segment(4); // 2ndsegment
49
Moyed Ansari

Guide de l'utilisateur CodeIgniter dit:

$ this-> uri-> segment (n)

Vous permet de récupérer un segment spécifique. Où n est le segment numéro que vous souhaitez récupérer. Les segments sont numérotés de gauche à droite . Par exemple, si votre URL complète est la suivante: http://example.com/index.php/news/local/metro/crime_is_up

Les numéros de segment seraient les suivants:

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

Donc, segment fait référence à votre segment de structure d’URL. Dans l'exemple ci-dessus, $this->uri->segment(3) serait 'metro', alors que $this->uri->segment(4) serait 'crime_is_up'.

14
geomagas

Dans votre code, $this->uri->segment(3) fait référence à la pagination offset que vous utilisez dans votre requête. Selon votre $config['base_url'] = base_url().'index.php/papplicant/viewdeletedrecords/' ;, $this->uri->segment(3) i.e le segment 3 fait référence au décalage. Le premier segment est la controller, le second est la method, puis vient la parameters envoyée aux contrôleurs sous la forme segments.

4
Nil'z

Par défaut, la fonction retourne FALSE (booléen) si le segment n'existe pas. Un deuxième paramètre facultatif vous permet de définir votre propre valeur par défaut si le segment est manquant. Par exemple, ceci indiquerait à la fonction de renvoyer le nombre zéro en cas d'échec: $ Product_id = $ this-> uri-> segment (3, 0);

Cela évite d'avoir à écrire un code comme celui-ci:

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

Imaginons que vous ayez une URL de ce type http://www.example.com/controller/action/arg1/arg2

Si vous voulez savoir quels sont les arguments qui sont passés dans cette URL

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

La sortie sera:

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