Я ищу совета о том, какие инструменты и ресурсы использовать, и читаю, чтобы решить мою проблему.
Проект представляет собой веб-сайт, управляемый базой данных, созданный с использованием php, html, css, sql и некоторого javascript.
В моем проекте я хочу разрешить пользователю вернуться к данным, ранее введенным в многотабличную базу данных, и дать ему возможность удалить или отредактировать эти данные.
Вместо того, чтобы обновлять БД после каждого изменения, я хотел бы, чтобы пользователь мог вносить все изменения на стороне клиента, чтобы веб-страница динамически изменялась, чтобы отображать эти изменения, а затем при нажатии кнопки сохранения PHP напишет соответствующий запросы и исправления БД.
Если бы это была простая структура, я бы мог сделать это с помощью простой текстовой формы. К сожалению, это немного сложнее. База данных предназначена для регистрации походов, и я хочу дать пользователю возможность «удалить друга» из поездки. Это будет включать в себя людей, перечисленных в поездке, с кнопкой удаления рядом с их именем, когда пользователь нажимает эту кнопку удаления, я хотел бы, чтобы имя было удалено с веб-страницы, и изменения вносятся в БД только после нажатия кнопки сохранения. .
Я только начинаю эту часть своего проекта, и у меня еще нет кода, но я хочу сначала прочитать и узнать о правильных вещах, чтобы начать работу.
Я самоучка и имею некоторые базовые знания о php, html, css, sql, и мне довольно успешно удалось реализовать код javascript других людей в моем проекте.
Спасибо, что нашли время прочитать это. Надеюсь, я ясно описал свою проблему, и если у вас есть какие-либо вопросы, не стесняйтесь их спрашивать.
Используя технологии, которые вы используете, я бы сделал это путем создания объектной модели для отслеживания изменений ваших объектов в вашем клиентском javascript.
Вам также понадобится объектная модель для самих сущностей в клиентском javascript. Это связано с тем, что, если вы не обновляете сущности на сервере, их перезагрузка оттуда переопределит изменения, уже сделанные пользователем.
Шаг 1 означает, что все сущности, которые пользователь отображает / которые доступны для изменения, должны быть «кэшированы» на стороне клиента в объектах javascript и оттуда отображаться на странице.
Шаг 2 будет им, чтобы представить объектную модель, которая будет отслеживать изменения. Объект может выглядеть так:
{
"changeType": "remove-friend-from-trip",
"friendId": 12,
"tripId": 27
}
И всякий раз, когда пользователь вносит изменение, вы должны помещать это изменение как объект javascript в локальную коллекцию, где вы сохраняете все изменения. Вы также должны обновить отображаемый локальный объект javascript.
Шаг 3 будет реализовывать логику функции «сохранения» для страницы. Он должен пройти через локальную коллекцию отслеживаемых изменений и перевести их в соответствующие сообщения на веб-сервере.
И проблема здесь может заключаться в обработке локальных объектов между перезагрузками полной страницы, я думаю, это должно быть на основе файлов cookie - чтобы выжить. Если приложение уже не является SPA.
Я думаю, есть также некоторые фреймворки для подобных вещей - вот тот, который я нашел, которые позволяют делать что-то вроде того, что вы хотите. Однако время, которое потребуется для принятия такой структуры, может быть больше, чем время, чтобы сделать это самостоятельно.
Большое спасибо за ответ. Здесь есть что посмотреть и что именно мне нужно было для начала.