{"id":16673296,"url":"https://github.com/compolomus/pagination","last_synced_at":"2025-10-30T02:15:42.644Z","repository":{"id":35070305,"uuid":"203194049","full_name":"Compolomus/Pagination","owner":"Compolomus","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-31T16:45:58.000Z","size":14,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-20T08:07:54.344Z","etag":null,"topics":["pagination","pagination-template"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Compolomus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-19T14:55:03.000Z","updated_at":"2022-06-19T20:50:01.000Z","dependencies_parsed_at":"2022-08-08T04:16:08.163Z","dependency_job_id":null,"html_url":"https://github.com/Compolomus/Pagination","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Compolomus/Pagination","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Compolomus%2FPagination","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Compolomus%2FPagination/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Compolomus%2FPagination/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Compolomus%2FPagination/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Compolomus","download_url":"https://codeload.github.com/Compolomus/Pagination/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Compolomus%2FPagination/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268693292,"owners_count":24291600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pagination","pagination-template"],"created_at":"2024-10-12T12:25:42.377Z","updated_at":"2025-10-30T02:15:37.593Z","avatar_url":"https://github.com/Compolomus.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compolomus Pagination\n\n[![License](https://poser.pugx.org/compolomus/Pagination/license)](https://packagist.org/packages/compolomus/Pagination)\n\n[![Build Status](https://scrutinizer-ci.com/g/Compolomus/Pagination/badges/build.png?b=master)](https://scrutinizer-ci.com/g/Compolomus/Pagination/build-status/master)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/Compolomus/Pagination/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/Compolomus/Pagination/?branch=master)\n[![Code Coverage](https://scrutinizer-ci.com/g/Compolomus/Pagination/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/Compolomus/Pagination/?branch=master)\n[![Code Climate](https://codeclimate.com/github/Compolomus/Pagination/badges/gpa.svg)](https://codeclimate.com/github/Compolomus/Pagination)\n[![Downloads](https://poser.pugx.org/compolomus/Pagination/downloads)](https://packagist.org/packages/compolomus/Pagination)\n\n## Установка:\n\ncomposer require compolomus/pagination\n\n## Применение:\n\n```php\n\nuse Compolomus\\Pagination\\Pagination;\n\nrequire __DIR__ . '/vendor/autoload.php';\n\n$page = $_GET['page'] ?? 1;\n\n$items = range(1, 200);\n\necho count($items);\n\n#1\n\n$nav = new Pagination((int) $page, 10, count($items), 7, true);\n$navIntegers = new Pagination((int) $page, 10, count($items), 7);\n\nfor ($i = $nav-\u003egetOffset(); $i \u003c $nav-\u003egetEnd(); $i++) {\n    echo '\u003cdiv\u003e' . $items[$i] . '\u003c/div\u003e';\n}\n\n#2\n\nforeach (new LimitIterator(new ArrayIterator($items), $nav-\u003egetOffset(), $nav-\u003egetLimit()) as $item) {\n    echo '\u003cdiv\u003e' . $item . '\u003c/div\u003e';\n}\n\n#3\n\n$count = 200; // select count(*) from table\n\n$select = range(100, 1000, 100); // select * from table limit $nav-\u003egetLimit() offset $nav-\u003egetOffset()\n\n/*\nwhile($row = fetch($select)) {\n// ...\n}\n*/\n\necho '\u003cpre\u003e' . print_r($nav-\u003eget(), true) . '\u003c/pre\u003e';\n\n/*\n    Array\n    (\n        [prev] =\u003e 9\n        [first] =\u003e 1\n        [second] =\u003e 2\n        [0] =\u003e 1\n        [leftDots] =\u003e ...\n        [1] =\u003e 3\n        [2] =\u003e 4\n        [3] =\u003e 5\n        [4] =\u003e 6\n        [5] =\u003e 7\n        [6] =\u003e 8\n        [7] =\u003e 9\n        [current] =\u003e 10\n        [8] =\u003e 11\n        [9] =\u003e 12\n        [10] =\u003e 13\n        [11] =\u003e 14\n        [12] =\u003e 15\n        [13] =\u003e 16\n        [14] =\u003e 17\n        [rightDots] =\u003e ...\n        [15] =\u003e 20\n        [last] =\u003e 20\n        [next] =\u003e 11\n        [preLast] =\u003e 19\n    )\n*/\n\necho '\u003cpre\u003e' . print_r($navIntegers-\u003eget(), true) . '\u003c/pre\u003e';\n\n/*\n    Array\n    (\n        [0] =\u003e 1\n        [1] =\u003e ...\n        [2] =\u003e 3\n        [3] =\u003e 4\n        [4] =\u003e 5\n        [5] =\u003e 6\n        [6] =\u003e 7\n        [7] =\u003e 8\n        [8] =\u003e 9\n        [9] =\u003e 10\n        [10] =\u003e 11\n        [11] =\u003e 12\n        [12] =\u003e 13\n        [13] =\u003e 14\n        [14] =\u003e 15\n        [15] =\u003e 16\n        [16] =\u003e 17\n        [17] =\u003e ...\n        [18] =\u003e 20\n    )\n*/\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompolomus%2Fpagination","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompolomus%2Fpagination","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompolomus%2Fpagination/lists"}