Как после редактирования в модальном окне сохранить данные в БД?

Для сохранения данных в базу данных после редактирования в модальном окне вам понадобится использовать комбинацию JavaScript, AJAX и серверного языка программирования (например, PHP), который будет обрабатывать запросы AJAX и взаимодействовать с базой данных.

Вот пошаговая инструкция, как это можно сделать:

1. Создайте модальное окно с формой, в которой пользователь может внести необходимые изменения. Форма должна иметь поле для каждого атрибута, который нужно изменить, а также кнопку "Сохранить изменения".

2. Назначьте обработчик события submit формы, чтобы предотвратить ее стандартную отправку и осуществить отправку данных через AJAX. Вот пример кода:

document.getElementById('myForm').addEventListener('submit', function(event) {
  event.preventDefault(); // предотвращаем отправку формы
  
  // получаем данные из формы
  var formData = new FormData(this);
  
  // отправляем данные на сервер
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/save-data.php', true);
  xhr.onreadystatechange = function () {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
      // обработка успешного ответа от сервера (если требуется)
    }
  };
  xhr.send(formData);
});

3. Создайте файл на сервере (например, save-data.php), который будет принимать AJAX-запрос и обрабатывать сохранение данных в базе данных. Для этого вам понадобится соединение с базой данных и выполнение соответствующих запросов. Вот пример кода на PHP:

<?php
// подключение к базе данных
$db = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// получение данных из AJAX-запроса
$attribute1 = $_POST['attribute1'];
$attribute2 = $_POST['attribute2'];

// выполнение запроса на сохранение данных в базе
$stmt = $db->prepare("UPDATE mytable SET attribute1 = :attribute1, attribute2 = :attribute2 WHERE id = :id");
$stmt->bindParam(':attribute1', $attribute1);
$stmt->bindParam(':attribute2', $attribute2);
$stmt->bindParam(':id', $id);
$stmt->execute();

// отправляем успешный ответ клиенту
echo 'Данные успешно сохранены в базе данных!';
?>

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