Прикрутить js грид к сайту на РНР
сайт не выложен - ждёт грида, архив предоставлю
1. в качестве компонента использовать https://datatables.net/ или https://www.ag-grid.com/example.php
Второй вариант мне кажется более функционален, хотя может это будет проблемой, если там нельзя выбрать только нужные функции, посмотрите.
Мне надо:
1.1. простая таблица с полями таких типов:
1.1.1. маленький текст (краткие названия,цифры)
1.1.2. большой текст, типа описания
1.1.3. картинки https://editor.datatables.net/examples/advanced/upload.html
1.1.4. дата
1.1.5. чекбоксы https://editor.datatables.net/examples/inline-editing/simple.html
1.1.6. нумерация строк
1.2. дополнительно
- обрезание прежде всего для большого текста, но может и для маленького
- демонстрация полного текста на наведение
1.3. 2 режима: просмотр (выделяется вся строка,может даже клавиши вверх/вниз переводят выбор строки) и редактирование (клавиши вверх/вниз перемещается выделение по ячейкам как тут
https://editor.datatables.net/examples/extensions/keyTable.html, на энтер или клик переходим в редактирование; ещё фича как тут https://editor.datatables.net/examples/extensions/autoFill.html)
Может чек поставить “Редактирование”, при котором отрабатывает редактирование.
1.4. добавление и удаление строк
1.5. экспорт/импорт (с экспортом там полно настроек для ПДФ, экселя или копирования, скорее всего есть и импорт/вставка)
1.6. селект числа строк на странице и пагинация
1.7. сортировка и поиск-фильтрация локальные в компоненте при выводе всех данных таблицы
1.8. сортировка и поиск-фильтрация через БД при выводе только части данных
1.9. перетягивание границ столбцов
1.10. пользователи 3 типов: пользователь,модератор, админ
1.10.1. на уровне клиента - все кнопки доступны только админу, пользователь и модератор чуть ограничены
1.10.2. на уровне склейки запросов и обращений к БД– не все таблицы и поля доступны всем
1.10.3. на уровне БД – не все строки доступны для всех пользователей (надо что ли идентификатор пользователя в запрос постить)
Для подключения к мускульной БД можно использовать встроенный механизм компонента.
Предпочтение тем, кто уже делал что-то подобное и сможет это показать.