2012-10-14 23 views
1

我是codeigniter 2的新手,我有一個關於URI段的問題。你如何使用codeigniter段?

當我有不同數量的細分時,我應該怎麼做?

例如(僞代碼)

if(number of segments are 3){ 
    do something 
}elseif(number of segmens are only 2){ 
    do something else 
} 

回答

2

段的數目只是與應用相關的,真的不應該在你的代碼。您可以通過爲它們分配變量來使用它們。所以說,你有一個訂單清單,你想要編輯它的能力。你可以像myorders/edit_order一個url/12,然後在控制你會使用段像這樣:

function edit_order() 
{ 
    $this->load->helper->('uri'); // although I load this in the autoload.php since it gets used often 
    $orderId = $this->uri->segment(2); 
} 

我真的不能明白了一個道理,爲什麼你需要知道的段數,哪一部分保存你傳遞的數據。

+0

我的方法將根據段的數量做不同的事情。 例如 運動/聯盟/團隊 將發表文章球隊 而運動/聯盟/ 將張貼聯賽等 只是一個例子文章。 – user1724347

+0

夠公平的,不完全如何我會這樣做,尤其是因爲它真的把你鎖定在那個方案中,而說餵它/運動或/團隊然後發佈基於$ postType = $ this-> uri->段的文章2)將允許您使用第二部分中的任何內容,並基於此進行搜索。 –

+0

當你在這裏時,讓我再問一個問題。我如何刪除路線中的索引方法? 而不是索引/運動/聯盟/團隊我想刪除索引,仍然獲得內容。 – user1724347

2

可以使用URL classestotal_segments()

//Returns the total number of segments. 
if ($this->uri->total_segments() == 3) { 
    //do something 
} else { 
    //do something else 
} 
+0

感謝m8你真的讓我的一天! – user1724347