Ich habe kürzlich eine Seite mit den Details eines kurzen Antwortartikels erstellt. Ich muss die Schaltflächen „Vorheriger Artikel“ und „Nächster Artikel“ am Ende der Seite hinzufügen. Nach der Analyse sind der Titel und die ID des Artikels (als Parameter) das Wichtigste. .
Anfangs habe ich daran gedacht, 1 zur aktuellen ID hinzuzufügen oder davon zu subtrahieren, aber da es falsch wäre, wenn ein Teil der ID verloren gehen würde, habe ich Datensätze abgefragt, die größer bzw. kleiner als die aktuelle ID sind, und sie darauf beschränkt eins, also habe ich mir den folgenden Code ausgedacht.
Der Code lautet wie folgt. Bitte lassen Sie mich wissen, wenn er falsch ist.
Im Controller
//查询上-篇文章 $prev_article = 你的模型::find() ->andFilterWhere(['<', 'id', $id]) ->andFilterWhere([其他条件) ->orderBy(['id' => SORT_DESC]) ->limit(1) ->one(); //查询下-篇文章 $next_article = 你的模型::find() ->andFilterWhere(['>', 'id', $id]) ->andFilterWhere(其他条件) ->orderBy(['id' => SORT_ASC]) ->limit(1) ->one(); $model['prev_article'] = [ 'url' => !is_null($prev_article) ? Url::current(['id'=>$prev_article->id]) : 'javascript:;', 'title' => !is_null($prev_article) ? $prev_article->title : '没有了', ]; $model['next_article'] = [ 'url' => !is_null($next_article) ? Url::current(['id'=>$next_article->id]) : 'javascript:;', 'title' => !is_null($next_article) ? $next_article->title : '没有了', ]; return $this->render('view', 'model' => $model, );
Im Blickfeld
<div class="left"> <p>上一篇: <a href="<?=$model['prev_article']['url']?>"> <?=$model['prev_article']['title']?> </a> </p> </div> <div class="right"> <p>下一篇: <a href="<?=$model['next_article']['url']?>"> <?=$model['next_article']['title']?> </a> </p> </div>
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.
Weitere Codebeispiele für die Implementierung der Funktion „Vorheriger Artikel, nächster Artikel“ durch yii2 finden Sie auf der chinesischen PHP-Website!