Редактируемая таблица в PHP - PullRequest
       0

Редактируемая таблица в PHP

1 голос
/ 14 декабря 2010

В PHP-приложении, которое я создаю, я бы хотел иметь «редактируемую» таблицу. Идея состоит в том, что в каждой строке будет кнопка редактирования, которая при нажатии заменяет определенные поля текстовыми полями, выбирает списки и заменяет кнопку сохранения. Когда пользователь нажимает кнопку «Сохранить», данные данных должны быть проверены и, при необходимости, изменены.

Я в основном рассматриваю это как учебный проект (я знаю, что там уже есть куча всего) и чтобы посмотреть, смогу ли я получить что-нибудь «классное», работающее. Я создал PHP-генерирующий класс, который может принимать массив объектов в качестве источника данных и может иметь столбцы, созданные на основе этих методов класса.

, например

$table = new Table($dataSource);
$table->addColumn('Name', 'getName');
$table->addColumn('Amount Due', array('getOrdersManager', 'getTotalAmountDue')); //First calls getOrdersManager() on each data item and then calls the getTotalAmountDue() on the result

Я хотел бы попробовать свои силы, чтобы расширить это, чтобы иметь возможность отразить строку таблицы и отразить эти изменения на соответствующем объекте в источнике данных.

У меня не очень большой опыт работы с AJAX, хотя он, несомненно, сыграет очень важную роль в правильной работе.

Какие-нибудь советы, как мне следует подойти к такой задаче?

Edit: мне не очень интересно смотреть на библиотеки Ajax на данный момент (у меня есть некоторый опыт работы с jQuery). На данный момент меня больше интересует изучение основ Ajax.

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Некоторые вещи, о которых следует знать / думать:

  • Собираетесь ли вы отправлять каждое изменение поля на сервер или только всю строку (последняя является более ресурсоэффективной, но не обязательно настолько точной)
  • Как вы собираетесь гарантировать, что отображаемые данные остаются точными, даже если по какой-либо причине происходит сбой при обновлении сервера (либо сбой сети, либо ошибка БД / проверки)
  • Как вы убедитесь, что у пользователя есть разрешение на обновление записи, и что вы не открываете дыру в безопасности, позволяя респонденту AJAX просто обновить любую запись, о которой ему сообщается. Мой подход состоял в том, что если запись отображается в интерактивной таблице, то у пользователя есть разрешение на ее обновление, поэтому при создании таблицы в сеансе хранится кэш идентификаторов записей
  • Собираетесь ли вы загружать опции динамически? Если вы этого не сделаете, то длинная таблица может в конечном итоге содержать большое количество HTML из-за повторения элементов управления select, но, опять же, более эффективно использовать ресурсы, чтобы не иметь запроса каждый раз, когда пользователь нажимает на раскрывающийся список. Одним из компромиссов может быть помещение параметров в скрытое поле HTML и их динамическая загрузка в нужное место, когда пользователь нажимает раскрывающийся список
1 голос
/ 14 декабря 2010

Мой совет - использовать jquery (делает большую часть тяжелой работы за вас и прост в освоении)

Идея состоит в том, что каждый ряд будет иметь кнопка редактирования, которая при нажатии будет заменить определенные поля текстом поля и выберите списки и измените на кнопка сохранения

http://api.jquery.com/click/

Когда пользователь нажимает сохранить, данные данные должны быть проверены и изменены если уместно.

http://api.jquery.com/jQuery.post/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...