PHPackages                             amadeuse/table-mvc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. amadeuse/table-mvc

ActiveProject[Utility &amp; Helpers](/categories/utility)

amadeuse/table-mvc
==================

Table MVC პროექტი - რეაქტიული ცხრილი AJAX-ით

00PHP

Since Dec 18Pushed 5mo agoCompare

[ Source](https://github.com/Amadeuse/table-mvc)[ Packagist](https://packagist.org/packages/amadeuse/table-mvc)[ RSS](/packages/amadeuse-table-mvc/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Table MVC - Composer პაკეტი
===========================

[](#table-mvc---composer-პაკეტი)

AJAX-იანი რეაქტიული ცხრილი PHP პროექტებისთვის.

მახასიათებლები
--------------

[](#მახასიათებლები)

- ✅ AJAX მონაცემის ჩატვირთვა
- ✅ Sorting (აღმავალი/დაღმავალი)
- ✅ Pagination კონტროლი
- ✅ ძიება (search)
- ✅ სვეტების ხილვადობის კონტროლი
- ✅ Responsive დიზაინი
- ✅ localStorage - პარამეტრების შენახვა
- ✅ Bootstrap 4/5 თავსებადი
- ✅ ქართული ენის მხარდაჭერა

ინსტალაცია Composer-ით
----------------------

[](#ინსტალაცია-composer-ით)

```
composer require yourname/table-mvc
```

სწრაფი დაწყება
--------------

[](#სწრაფი-დაწყება)

### 1. კლასების იმპორტი

[](#1-კლასების-იმპორტი)

```
use TableMvc\Table;
use TableMvc\TableModel;
use TableMvc\TableHelper;
```

### 2. კონფიგურაციის შექმნა

[](#2-კონფიგურაციის-შექმნა)

```
$config = [
    'table' => 'users',
    'fields' => [
        'id' => 'ID',
        'name' => 'სახელი',
        'email' => 'ელ. მისამართი'
    ],
    'sortable' => ['id', 'name'],
    'apiUrl' => '/api/table'
];
```

### 3. Table ინსტანსის შექმნა

[](#3-table-ინსტანსის-შექმნა)

```
define('BASE_URL', '/');
$table = new Table('users', $config);
```

### 4. HTML-ში ჩართვა

[](#4-html-ში-ჩართვა)

```
>

    includeCss(); ?>

        მომხმარებლები
        render(); ?>

    includeJs(); ?>

```

Table კლასის მეთოდები
---------------------

[](#table-კლასის-მეთოდები)

### `__construct($tableId, $config = [])`

[](#__constructtableid-config--)

ინიციალიზაციონი table ID-თი და კონფიგურაციით.

### `render($tableName = null)`

[](#rendertablename--null)

ცხრილის HTML-ის გენერირება.

### `includeCss()`

[](#includecss)

CSS ფაილის include tag-ი.

### `includeJs()`

[](#includejs)

JS ფაილის include tag და აპლიკაციის კონფიგურაცია.

### Fluent API

[](#fluent-api)

```
$table->addField('new_col', 'ახალი სვეტი')
      ->addSortable('new_col')
      ->setApiUrl('/api/custom')
      ->setConfig('searchPlaceholder', 'მოძებნე...');
```

TableModel - ბაზის გამოწვევა
----------------------------

[](#tablemodel---ბაზის-გამოწვევა)

```
$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'user', 'pass');
$model = new TableModel($pdo, 'users', ['id', 'name', 'email'], ['id', 'name']);

$result = $model->getData(
    page: 1,
    search: '',
    sortField: 'name',
    sortDir: 'ASC'
);
```

TableHelper - დამხმარე ფუნქციები
--------------------------------

[](#tablehelper---დამხმარე-ფუნქციები)

```
// კონფიგურაციის ვალიდაცია
$errors = TableHelper::validateConfig($config);

// Sanitize
$safeName = TableHelper::sanitizeTableName($_GET['table']);

// მნიშვნელობის ფორმატირება
echo TableHelper::formatValue($date, 'date');
echo TableHelper::formatValue($price, 'currency');

// Pagination
$pagination = TableHelper::calculatePagination($total, $page, $perPage);
```

API Endpoint
------------

[](#api-endpoint)

Table მოდულს მოსახლეობის განახლებული მონაცემისთვის სჭირდება API endpoint.

მაგალითი `public/api/table.php`:

```
