ページネーション ================ The process of pagination takes place when we need to present big groups of arbitrary data gradually. :code:`Phalcon\Paginator` offers a fast and convenient way to split these sets of data into browsable pages. データ・アダプタ ---------------- This component makes use of adapters to encapsulate different sources of data: +--------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Adapter | Description | +==================================================================================================+===========================================================================================================================================================================================================================+ | :doc:`Phalcon\\Paginator\\Adapter\\NativeArray <../api/Phalcon_Paginator_Adapter_NativeArray>` | Use a PHP array as source data | +--------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :doc:`Phalcon\\Paginator\\Adapter\\Model <../api/Phalcon_Paginator_Adapter_Model>` | Use a :doc:`Phalcon\\Mvc\\Model\\Resultset <../api/Phalcon_Mvc_Model_Resultset>` object as source data. Since PDO doesn't support scrollable cursors this adapter shouldn't be used to paginate a large number of records | +--------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :doc:`Phalcon\\Paginator\\Adapter\\QueryBuilder <../api/Phalcon_Paginator_Adapter_QueryBuilder>` | Use a :doc:`Phalcon\\Mvc\\Model\\Query\\Builder <../api/Phalcon_Mvc_Model_Query_Builder>` object as source data | +--------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 例 -------- In the example below, the paginator will use the result of a query from a model as its source data, and limit the displayed data to 10 records per page: .. code-block:: php request->getQuery("page", "int"); // GET // $this->request->getPost("page", "int"); // POST $currentPage = (int) $_GET["page"]; // The data set to paginate $robots = Robots::find(); // Create a Model paginator, show 10 rows by page starting from $currentPage $paginator = new PaginatorModel( [ "data" => $robots, "limit" => 10, "page" => $currentPage, ] ); // Get the paginated results $page = $paginator->getPaginate(); The :code:`$currentPage` variable controls the page to be displayed. The :code:`$paginator->getPaginate()` returns a :code:`$page` object that contains the paginated data. It can be used for generating the pagination: .. code-block:: html+php
Id | Name | Type |
---|---|---|
id; ?> | name; ?> | type; ?> |