2017-02-16 155 views
0

我試圖在模型中創建一個檢索某個博客文章頁面的上一個和下一個鏈接的函數。博客帖子保存在數據庫中的表格中,其中包含不同類型的頁面,因此ID的順序不正確。 到目前爲止,我所做的是獲得一個數組,其中包含所有標記爲博客文章的頁面。 要清楚,這裏是數組:codeigniter獲取上一頁和下一個博客頁面鏈接

Array 
( 

    [0] => stdClass Object 
     (
      [id] => 2127 
      [options] => news=on 
     ) 


    [1] => stdClass Object 
     (
      [id] => 2133 
      [options] => news=on 
     ) 

    [2] => stdClass Object 
     (
      [id] => 2137 
      [options] => news=on 
     ) 

    [3] => stdClass Object 
     (
      [id] => 2138 
      [options] => news=on 
     ) 

    [4] => stdClass Object 
     (
      [id] => 2139 
      [options] => news=on 
     ) 

    [5] => stdClass Object 
     (
      [id] => 2142 
      [options] => news=on 
     ) 

    [6] => stdClass Object 
     (
      [id] => 2144 
      [options] => news=on 
     ) 

    [7] => stdClass Object 
     (
      [id] => 2145 
      [options] => news=on 
     ) 

    [8] => stdClass Object 
     (
      [id] => 2146 
      [options] => news=on 
     ) 

    [9] => stdClass Object 
     (
      [id] => 2153 
      [options] => news=on 
     ) 

    [10] => stdClass Object 
     (
      [id] => 2156 
      [options] => news=on 
     ) 

) 

我可以得到當前頁ID,我想要得到的prev和next ID的,例如,當我網頁上的ID爲2133我想ID 2127和2137.

我已經搜索並嘗試了一些解決方案,但他們沒有奏效。 請幫忙!

+0

我想你可以說關於分頁我是不是 –

+0

沒有。我不是在談論分頁。這是博客文章的單個頁面。我希望能夠鏈接到上一篇和下一篇文章(博客文章) –

回答

0

假設你的StdObjects數組叫做$ myArray,你可以用這個來獲得一個id數組。

$idArray = array(); 
foreach($myArray as $m=>$o) { 
    $idArray[]= $o->id; 
} 

print_r($idArray); 

,讓你

Array (
    [0] => 2127 
    [1] => 2133 
    [2] => 2137 
    [3] => 2138 
    [4] => 2139 
) 

,你可以拉你從$ idArray需要哪個ID的。

0

@ourmandave: 我用你的建議,最後拿出整個解決方案。如果有人需要身份證件,我會在這裏寫下來。

// get the all the blog pages 
    $blog_pages = $this->pages_model->get_links(); 

    $idArray = array(); 
    foreach($blog_pages as $m=>$o) { 
     $idArray[]= $o->id; 
    } 
    // Find the index of the current item 
    $current_index = array_search($current_page->id, $idArray); 
    // Find the index of the next/prev items 
    $next = $current_index + 1; 
    $prev = $current_index - 1; 

    // and now finally sent the data to view 
    $data['prev'] = $this->pages_model->get($idArray[$prev]); 
    $data['next'] = $this->pages_model->get($idArray[$next]); 
相關問題