首頁  >  文章  >  後端開發  >  yii2實作 關於在頁中'上一頁,下一也' 的程式碼

yii2實作 關於在頁中'上一頁,下一也' 的程式碼

不言
不言原創
2018-06-15 16:49:131747瀏覽

這篇文章主要介紹了yii2實現關於在頁面中"上一頁,下一也" 的代碼,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

在很多頁面上都需要加入上一篇,下一篇按鈕,內容挺不錯的,現在分享給大家,也給大家做個參考。

最近做了簡答的文章詳情頁面,需要在頁面底部加入上一篇,下一篇按鈕,分析了下,最基本需要有文章的標題和id(作為參數).

開始想的是當前的id加減1,但考慮到如果部分id丟失就不對了,於是分別查詢比當前id大和小的記錄並且限定為一條,於是有了以下代碼。

程式碼如下,不對的地方請指教.

#「控制器中

//查询上-篇文章
    $prev_article = 你的模型::find()
      ->andFilterWhere([&#39;<&#39;, &#39;id&#39;, $id])
      ->andFilterWhere([其他条件)
      ->orderBy([&#39;id&#39; => SORT_DESC])
      ->limit(1)
      ->one();
    //查询下-篇文章
    $next_article = 你的模型::find()
      ->andFilterWhere([&#39;>&#39;, &#39;id&#39;, $id])
      ->andFilterWhere(其他条件)
      ->orderBy([&#39;id&#39; => SORT_ASC])
      ->limit(1)
      ->one();


    $model[&#39;prev_article&#39;] = [
      &#39;url&#39; => !is_null($prev_article) ? Url::current([&#39;id&#39;=>$prev_article->id]) : &#39;javascript:;&#39;,
      &#39;title&#39; => !is_null($prev_article) ? $prev_article->title : &#39;没有了&#39;,
    ];

    $model[&#39;next_article&#39;] = [
      &#39;url&#39; => !is_null($next_article) ? Url::current([&#39;id&#39;=>$next_article->id]) : &#39;javascript:;&#39;,
      &#39;title&#39; => !is_null($next_article) ? $next_article->title : &#39;没有了&#39;,
    ];

    return $this->render(&#39;view&#39;, 
      &#39;model&#39; => $model, 
    );


##
<p class="left">
    <p>上一篇:
      <a href="<?=$model[&#39;prev_article&#39;][&#39;url&#39;]?>">
        <?=$model[&#39;prev_article&#39;][&#39;title&#39;]?>
      </a>
    </p>
  </p>
  <p class="right">
    <p>下一篇:
      <a href="<?=$model[&#39;next_article&#39;][&#39;url&#39;]?>">
        <?=$model[&#39;next_article&#39;][&#39;title&#39;]?>
      </a>
    </p>
  </p>

視圖中

rrreee

以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網! 相關推薦:

關於YII框架中搜尋分頁jQuery寫法

yii2實作分頁與搜尋的分頁功能###########################

以上是yii2實作 關於在頁中'上一頁,下一也' 的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn