Yii2 implements the code for 'previous page, next page' in the page

不言
Release: 2023-04-01 11:42:01
Original
1751 people have browsed it

This article mainly introduces the code of yii2 to implement "previous page, next page" in the page. It has a certain reference value. Now I share it with everyone. Friends in need can refer to it

On many pages, you need to add the previous article and next article buttons. The content is quite good. Now I will share it with you and give it as a reference.

I recently made a short answer article details page. I need to add the previous article and next article buttons at the bottom of the page. After analysis, the most basic need is the title and id of the article (as parameters).

The first thing I thought about was adding or subtracting 1 to the current id, but considering that it would be wrong if part of the id was lost, I queried records larger and smaller than the current id respectively and limited them to one, so I came up with the following code.

The code is as follows, please tell me if it is wrong.

In the controller

//查询上-篇文章
    $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, 
    );
Copy after login

In view

<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>
Copy after login

The above is the entire content of this article, I hope it will be helpful to everyone’s study , please pay attention to the PHP Chinese website for more related content!

Related recommendations:

About how to write search paging jQuery in the YII framework

yii2 implements paging and paging with search functions

The above is the detailed content of Yii2 implements the code for 'previous page, next page' in the page. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template