{"id":18555583,"url":"https://github.com/n2ref/coreui-table-php","last_synced_at":"2026-02-16T02:05:13.823Z","repository":{"id":185728594,"uuid":"631572721","full_name":"n2ref/coreui-table-php","owner":"n2ref","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-26T12:20:17.000Z","size":149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T13:44:15.538Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n2ref.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-23T13:00:29.000Z","updated_at":"2025-01-26T12:20:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"af16111e-2521-4ad6-bfd3-178b048e2802","html_url":"https://github.com/n2ref/coreui-table-php","commit_stats":null,"previous_names":["shabuninil/coreui-table-php","n2ref/coreui-table-php"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n2ref%2Fcoreui-table-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n2ref%2Fcoreui-table-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n2ref%2Fcoreui-table-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n2ref%2Fcoreui-table-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n2ref","download_url":"https://codeload.github.com/n2ref/coreui-table-php/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248129929,"owners_count":21052664,"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","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":[],"created_at":"2024-11-06T21:27:11.311Z","updated_at":"2026-02-16T02:05:08.771Z","avatar_url":"https://github.com/n2ref.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# coreui-table\n\n```php\n    use CoreUI\\Table;\n    \n    $table = new Table('users');\n    $table-\u003esetClass('table-hover table-striped');\n    $table-\u003esetPrimaryKey('id');\n    $table-\u003esetMaxWidth(400);\n    $table-\u003esetRecordsPerPage(25);\n    $table-\u003esetClickUrl('/users//[id]');\n        \n    \n    $table-\u003eaddHeaderOut()\n        -\u003eleft([\n            (new Table\\Control\\Link(\"Добавить\", \"/users/0\"))-\u003eaddAttr('class', 'btn btn-success'),\n            (new Table\\Control\\Buttun(\"Удаление\"))-\u003eaddAttr('class', 'btn btn-warning')-\u003esetOnClick('funcDelete()'),\n        ])\n        -\u003eright([\n            (new Table\\Filter\\Text('login_name', \"Логин или Email\", 150))-\u003esetLabel('Label'),\n            (new Table\\Control\\FilterClear(),\n        ]);\n        \n    $table-\u003eaddHeaderIn()\n        -\u003eleft([\n            (new Table\\Control\\Search()),\n            (new Table\\Control\\Columns()),\n        ]);\n        \n    $table-\u003eaddFooterOut()\n        -\u003eleft([\n            (new Table\\Control\\Pages(3)),\n        ])\n        -\u003eright([\n            (new Table\\Control\\PageJump()),\n            (new Table\\Control\\PageSize([ 25, 50, 100, 1000, 0 ])),\n        ]);\n        \n    \n    $table-\u003eaddSearch([\n        (new Table\\Search\\Text('email',          \"Email\"))-\u003esetDescription('Описание'),\n        (new Table\\Search\\Switch('is_active_sw', \"Активность\"))-\u003esetValueY(1),\n        (new Table\\Search\\Date('date_created',   \"Дата использования\"))\n    ]);\n    \n    \n    $table-\u003eaddColumns([\n        (new Table\\Column\\Select());\n        (new Table\\Column\\Text('login',          \"Логин\",         110)))-\u003esetDescription('Описание')-\u003esetSort(true),    \n        (new Table\\Column\\Text('name',           \"Имя\"))-\u003esetSort(true),\n        (new Table\\Column\\Text('email',          \"Email\",         80))-\u003esetAttr('class', 'text-left')    \n        (new Table\\Column\\Date('date_created',   \"Дата создания\", 110))-\u003esetFormat('DD.MM.YYYY')-\u003esetSort(true);    \n        (new Table\\Column\\Switch('is_active_sw', \"Активность\",    50))-\u003esetValueY(1)-\u003esetValueN(0);    \n    ]);\n    \n      \n    $table-\u003esetRecordsRequest('data/users.json', 'GET');\n    \n    // OR\n    \n    $table-\u003esetRecords([\n        [ 'id' =\u003e 1, 'login' =\u003e 'admin', 'name' =\u003e 'Administrator', 'email' =\u003e 'admin@gmail.com', 'date_created' =\u003e date('Y-m-d'), 'is_active_sw' =\u003e 'Y' ],    \n        [ 'id' =\u003e 2, 'login' =\u003e 'user1', 'name' =\u003e 'User 1',        'email' =\u003e 'user1@gmail.com', 'date_created' =\u003e date('Y-m-d'), 'is_active_sw' =\u003e 'Y' ],    \n        [ 'id' =\u003e 3, 'login' =\u003e 'user2', 'name' =\u003e 'User 2',        'email' =\u003e 'user2@gmail.com', 'date_created' =\u003e date('Y-m-d'), 'is_active_sw' =\u003e 'N' ],    \n    ]);\n    \n    $records = $table-\u003egetRecords();\n    foreach ($records as $record) {\n              \n        $record-\u003ename = \"{$record-\u003elast_name} {$record-\u003efirst_name}\";\n        $record-\u003ecell('name')-\u003esetAttr('class', 'fw-bold');\n        \n        if ($record-\u003elogin === 'admin') {\n            $record-\u003esetAttr('class', 'table-warning');\n        }\n    }\n    \n    echo $table-\u003etoArray();\n```\n\nresult\n\n```json\n\n```\n\n\n```php\n    use CoreUI\\Table;\n    use CoreUI\\Table\\Adapter\\Mysql\\Search;\n\n    $table = new Table\\Adapter\\Mysql();\n    $table-\u003esetConnection($db);\n    $table-\u003esetCalcCount($table::CALC_ALL);\n    $table-\u003esetPage($_GET['page'] ?? 1, $_GET['count'] ?? 25);\n    \n    // OR\n    \n    if ( ! empty($_GET['page'])) {\n        $table-\u003esetPage($_GET['page']);   \n    }\n    \n    if ( ! empty($_GET['count'])) {\n        $table-\u003esetPageCount($_GET['count']);   \n    }\n    \n    \n    \n    if ( ! empty($_GET['sort']) \u0026\u0026 is_array($_GET['sort'])) {\n        $table-\u003esetSort($_GET['sort'], [\n            'login'        =\u003e 'u.login',\n            'name'         =\u003e 'u.name',\n            'date_created' =\u003e 'u.date_created',\n        ]);\n    }\n\n    if ( ! empty($_GET['search']) \u0026\u0026 is_array($_GET['search'])) {\n        $table-\u003esetSearch($_GET['search'], [\n            'email'        =\u003e (new Search\\Like())-\u003esetField(\"u.email\"),\n            'date_created' =\u003e (new Search\\Between())-\u003esetField(\"u.date_created \u003e= :start\"),\n            'is_active_sw' =\u003e (new Search\\Equal())-\u003esetField(\"u.is_active_sw\"),\n            'role'         =\u003e (new Search\\In())-\u003esetField(\"u.role\"),\n            'login_name'   =\u003e (new Search\\Custom())-\u003esetField(\"(u.login LIKE %?% OR CONCAT_WS(' ', u.first_name, u.last_name) LIKE %?%)\");\n        ]);\n    }\n    \n    \n    $table-\u003esetQuery(\"\n        SELECT u.id,\n               u.login,\n               u.first_name,\n               u.last_name,\n               u.email,\n               u.date_create,\n               u.is_active_sw\n        FROM users AS u\n        WHERE id_deleted = ?\n    \", [\n        'N'\n    ]);\n    \n    $records = $table-\u003efetchRows();\n    foreach ($records as $record) {\n       \n        $record-\u003ename = \"{$record-\u003elast_name} {$record-\u003efirst_name}\";\n        $record-\u003ecell('name')-\u003esetAttr('class', 'fw-bold');\n        \n        if ($record-\u003elogin === 'admin') {\n            $record-\u003esetAttr('class', 'table-warning');\n        }\n    }\n    \n    return $table-\u003etoArray();\n```\n\n```php\n    use CoreUI\\Table;\n    use CoreUI\\Table\\Adapter\\Data\\Search;\n    \n    $table = new Table\\Adapter\\Data();\n    \n    $table-\u003esetPage($_GET['page'] ?? 1, $_GET['count'] ?? 25);\n    \n    if ( ! empty($_GET['count'])) {\n        $table-\u003esetPageCount($_GET['count']);   \n    }\n    \n    if ( ! empty($_GET['sort']) \u0026\u0026 is_array($_GET['sort'])) {\n        $table-\u003esetSort($_GET['sort'], [ 'login', 'name', 'date_created' ]);\n    }\n\n    if ( ! empty($_GET['search']) \u0026\u0026 is_array($_GET['search'])) {\n        $table-\u003esetSearch($_GET['search'], [\n            'email'        =\u003e new Search\\Text(),\n            'date_created' =\u003e new Search\\Date(),\n            'is_active_sw' =\u003e new Search\\Equal(),\n            'login_name'   =\u003e new Search\\In();\n        ]);\n    }\n    \n    \n    $table-\u003esetData([\n        [ 'id' =\u003e 1, 'login' =\u003e 'admin', 'email' =\u003e 'admin@mail.com', 'name' =\u003e 'Administrator', 'is_active_sw' =\u003e 'Y', 'date_created' =\u003e date('Y-m-01 H:i:s'), ]\n        [ 'id' =\u003e 2, 'login' =\u003e 'user1', 'email' =\u003e 'user1@mail.com', 'name' =\u003e 'User 1',        'is_active_sw' =\u003e 'Y', 'date_created' =\u003e date('Y-m-01 H:i:s'), ]\n        [ 'id' =\u003e 3, 'login' =\u003e 'user2', 'email' =\u003e 'user2@mail.com', 'name' =\u003e 'User 2',        'is_active_sw' =\u003e 'N', 'date_created' =\u003e date('Y-m-01 H:i:s'), ]\n        [ 'id' =\u003e 4, 'login' =\u003e 'user3', 'email' =\u003e 'user3@mail.com', 'name' =\u003e 'User 3',        'is_active_sw' =\u003e 'Y', 'date_created' =\u003e date('Y-m-01 H:i:s'), ]\n    ]);\n    \n        \n    $records = $table-\u003efetchRecords();\n    foreach ($records as $record) {\n              \n        $record-\u003ename = \"{$record-\u003elast_name} {$record-\u003efirst_name}\";\n        $record-\u003ecell('name')-\u003esetAttr('class', 'fw-bold');\n        \n        if ($record-\u003elogin === 'admin') {\n            $record-\u003esetAttr('class', 'table-warning');\n        }\n    }\n    \n    return $table-\u003etoArray();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn2ref%2Fcoreui-table-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn2ref%2Fcoreui-table-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn2ref%2Fcoreui-table-php/lists"}