2010-09-30 4 views
12

Je cherche à obtenir le dernier segment d'URI dans CI, mais je ne sais pas quel sera son numéro, car des paramètres (un nombre entier) seront ajoutés lorsque l'utilisateur cliquera liens dans la page. Ils sont ensuite utilisés dans un contrôleur pour extraire les enregistrements de base de données pertinents dans la page via ajax.Code Igniter - Obtenir le dernier segment d'URI

Comment puis-je demander à CI d'obtenir le dernier segment?

Quelque chose comme:

$record_num = $this->uri->segment($last); 

Merci!

+0

Merci pour les réponses, les réponses sont bonnes. Je suis allé Anpher comme c'est un peu plus concis. – Robimp

Répondre

30
$record_num = end($this->uri->segment_array()); 
+0

salut! J'ai utilisé ce code, mais quand le segment n'est pas trouvé, il est erreur de lancer s'il vous plaît aider. J'écris si condition avec vide mais pas de travail. –

+0

déclare toujours votre paramètre comme 'public function name ($ parameter =" ")' –

20

Cela devrait fonctionner:

$last = $this->uri->total_segments(); 
$record_num = $this->uri->segment($last); 
+0

+1 J'aime mieux cette méthode, car elle utilise la fonctionnalité de codeigniter. Cela semble juste la bonne chose à faire. – Matthew

+1

Je suis d'accord, comme celui-ci mieux. Vous pouvez aussi vous enregistrer une ligne: $ record_num = $ this-> uri-> segment ($ this-> uri-> total_segments()); –