Я работаю над серверной функциональностью для клиента.Они хотят иметь возможность добавлять новые записи и редактировать старые записи с помощью очень простого представления;Я медленно добираюсь куда-то, но я застрял сейчас.Боюсь, я не продумал свой подход с самого начала.
Вот как это выглядит в данный момент:
Набор полей «Добавить» выдвигается из-подкнопка, которая не показывает атм.Он делает именно то, что говорит, добавляет новые записи в таблицу.Это прекрасно работает, мне удалось сделать представление динамическим (изменение полей в таблице и т. Д.), И операторы вставки работают также хорошо.Проблема, однако, заключается в функциональности редактирования.
Когда я нажимаю кнопку «Редактировать» рядом с записью, значения этой строки загружаются в приведенной выше форме.Затем клиент может редактировать значения и отправлять их. Или должен иметь возможность.
Я застрял здесь.В основном, заявление об обновлении заставляет меня хотеть ударить головой об стену.С таблицей видно, что написать запрос совсем не сложно:
$this->db->where('guestid' => $guestid)->update($table)
Первичный ключ здесь guestid
.Я должен использовать этот идентификатор, чтобы узнать, какую строку я хочу обновить.Однако в настоящее время у меня нет возможности сообщить своей форме, какую строку я собираюсь обновить.Я мог бы сделать скрытое поле ввода и вставить туда идентификатор. Но!Я использую это представление, как я упоминал ранее, для разных таблиц.Не у каждой таблицы есть гестиды и т. Д. Я, конечно, мог бы написать огромный оператор switch или if-структуру, чтобы определить, какая таблица и, следовательно, какой идентификатор должен идти в скрытое поле, но я ищу более легкий путь.
Это в основном вызывает у меня головную боль, потому что некоторые таблицы имеют комбинированный PK (например, моя таблица event_pass
имеет комбинированный PK eventID
и passID
).Я не уверен, как связать это с формой и как сказать моему приложению «посмотрите, обновите эти значения в этой строке этим PK».
У меня есть все метаданные таблицы в массиве, поэтому я знаю,PK и т. д.:
[eventID] => Array
(
[Field] => eventID
[Type] => int(10) unsigned
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] =>
)
[passID] => Array
(
[Field] => passID
[Type] => int(10) unsigned
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] =>
)
etc..
Любая помощь с моим мыслительным процессом будет оценена здесь.Я не ищу полный фрагмент кода, просто некоторые мысли, предложения о том, как реализовать это и сделать мою жизнь немного проще.Я могу предоставить больше скриншотов того, как могут выглядеть другие таблицы, и, конечно, могу предоставить код, если это необходимо.Заранее спасибо.