Heim  >  Artikel  >  PHP-Framework  >  So legen Sie die aktuelle Seitennummerierung in ThinkPHP 3.2 fest

So legen Sie die aktuelle Seitennummerierung in ThinkPHP 3.2 fest

PHPz
PHPzOriginal
2023-04-07 09:25:10526Durchsuche

ThinkPHP 3.2 ist ein leistungsstarkes Open-Source-PHP-Framework. Während des Entwicklungsprozesses wird häufig die Paging-Funktion verwendet. Dieser Artikel konzentriert sich auf das Festlegen der aktuellen Seitenpaginierung in ThinkPHP 3.2.

Zuerst müssen Sie die auf jeder Seite im Controller angezeigte Datenmenge definieren (der Standardwert ist 20) und die aktuelle Seitennummer abrufen. Sie können die aktuelle Seitennummer über I('p',1) abrufen. Wenn keine Parameter übergeben werden, wird standardmäßig Seite 1 verwendet. I('p',1) 来获取当前页码,如果没有传递参数,则默认为第 1 页。

public function getList(){
    $page_size = 10; // 每页显示10条数据
    $p = I('p',1); // 获取当前页码
    //TODO: ...
}

然后,需要计算出每页数据的起始位置,以便在数据库中进行分页查询。假设查询表 user 中的数据,可以使用 ThinkPHP 提供的 limit 方法进行分页。

public function getList(){
    $page_size = 10; // 每页显示10条数据
    $p = I('p',1); // 获取当前页码
    $user = M('User');
    $offset = ($p-1)*$page_size; // 计算当前页数据的起始位置
    $list = $user->limit($offset.','.$page_size)->select();// 按分页查找数据
}

在以上代码中,计算数据起始位置时使用 $offset = ($p-1)*$page_size;,然后使用 limit() 方法进行分页查询。

最后,需要在视图文件中渲染分页代码,让用户可以方便地进行翻页。可以使用 ThinkPHP 提供的 page() 方法生成 Bootstrap 样式的分页代码。

public function getList(){
    $page_size = 10; // 每页显示10条数据
    $p = I('p',1); // 获取当前页码
    $user = M('User');
    $offset = ($p-1)*$page_size; // 计算当前页数据的起始位置
    $list = $user->limit($offset.','.$page_size)->select();// 按分页查找数据
    $count = $user->count(); // 获取数据总数
    $Page = new \Think\Page($count,$page_size); // 实例化分页类
    $show = $Page->show(); // 分页显示输出
    $this->assign('list',$list);
    $this->assign('page',$show); // 分配分页代码到视图
    $this->display();
}

以上代码中,使用 $count = $user->count();获取数据总数,然后使用 new ThinkPage($count,$page_size); 实例化分页类,传入总数和每页数据量,最后使用 $Page->show(); 来生成分页展示字符串。然后将分页字符串传递给视图文件,使用 $this->assign('page',$show); 分配变量即可。

总结

ThinkPHP 3.2 中设置当前页分页需要以下三个步骤:

  1. 在控制器中定义每页显示的数据量,以及获取当前页码;
  2. 计算每页数据的起始位置,使用 limitrrreee
  3. Dann müssen Sie die Startposition jeder Datenseite berechnen, um Paging-Abfragen in der Datenbank durchzuführen. Angenommen, die Daten in der Abfragetabelle user können mit der von ThinkPHP bereitgestellten Methode limit paginiert werden.
  4. rrreee
  5. Verwenden Sie im obigen Code $offset = ($p-1)*$page_size;, wenn Sie die Startposition der Daten berechnen, und verwenden Sie dann limit() code>-Methode.

Schließlich muss der Paging-Code in der Ansichtsdatei gerendert werden, damit Benutzer problemlos Seiten umblättern können. Sie können die von ThinkPHP bereitgestellte Methode page() verwenden, um Paging-Code im Bootstrap-Stil zu generieren.

rrreee🎜Verwenden Sie im obigen Code $count = $user->count();, um die Gesamtzahl der Daten zu erhalten, und verwenden Sie dann new ThinkPage($count,$page_size ); Instanziieren Sie die Paging-Klasse, übergeben Sie die Gesamtzahl und die Datenmenge pro Seite und verwenden Sie schließlich $Page->show();, um die Paging-Anzeigezeichenfolge zu generieren. Übergeben Sie dann die Paging-Zeichenfolge an die Ansichtsdatei und weisen Sie die Variable mit $this->assign('page',$show); zu. 🎜🎜Zusammenfassung🎜🎜Das Festlegen der aktuellen Seitenseite in ThinkPHP 3.2 erfordert die folgenden drei Schritte: 🎜
    🎜Definieren Sie die Menge der auf jeder Seite im Controller angezeigten Daten und ermitteln Sie die aktuelle Seitenzahl. 🎜🎜Berechnen Sie die Startposition Verwenden Sie für jede Datenseite die Methode limit für die Paging-Abfrage. 🎜🎜 Generieren Sie Paging-Zeichenfolgen in der Ansichtsdatei und geben Sie sie aus, um Benutzern das Umblättern zu erleichtern. 🎜🎜🎜Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird Ihnen hilfreich sein. Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte eine Nachricht im Kommentarbereich und ich werde umgehend antworten. 🎜

Das obige ist der detaillierte Inhalt vonSo legen Sie die aktuelle Seitennummerierung in ThinkPHP 3.2 fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn