НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
143 of 182 menu

Таблица webform_submission_data

Таблица webform_submission_data является центральным хранилищем данных для модуля Webform в Drupal. Она содержит все значения полей для каждой отправленной формы, организованные в формате "ключ-значение". Эта структура позволяет гибко хранить данные различных типов полей без необходимости изменять схему базы данных при добавлении новых полей в формы.

Поля

Поле Тип данных Описание
sid int Идентификатор отправки (submission ID). Внешний ключ, связывающий данные с основной информацией об отправке в таблице webform_submission.
webform_id varchar(32) Идентификатор веб-формы. Внешний ключ для таблицы webform.
name varchar(128) Машинное имя поля веб-формы, для которого хранится значение.
property varchar(128) Свойство значения. Обычно пустая строка для простых значений или название свойства для составных значений.
delta int Индекс значения для полей с множественными значениями. Для полей с одним значением обычно равен 0.
value text Значение поля формы. Для большинства полей хранится строковое представление данных.

Как это работает

Когда пользователь отправляет веб-форму, создается запись в таблице webform_submission с основными метаданными (время создания, автор, форма и т.д.). Затем для каждого поля формы создается одна или несколько записей в таблице webform_submission_data.

Структура "ключ-значение" позволяет хранить данные различных типов полей (текстовые поля, выпадающие списки, радио-кнопки, файлы) в одной таблице без необходимости изменять схему базы данных при добавлении новых полей в формы.

Для полей с множественными значениями (например, когда можно добавить несколько элементов) создаются несколько записей с одинаковым name, но разными значениями delta (0, 1, 2 и т.д.).

Поле property используется для составных данных. Например, для поля "Адрес" могут создаваться отдельные записи для улицы, города, почтового индекса и т.д., где property указывает тип сохраняемого значения.

Пример SQL-запроса

Получить все данные для конкретной отправки формы можно следующим запросом:

SELECT name, property, delta, value FROM webform_submission_data WHERE sid = 123 ORDER BY name, delta;

Найти все отправки формы с определенным значением в поле:

SELECT sd.sid, sd.value FROM webform_submission_data sd WHERE sd.webform_id = 'contact' AND sd.name = 'email' AND sd.value LIKE '%@example.com';

Смотрите также

  • таблицу webform_submission,
    которая хранит метаинформацию об отправках форм
  • таблицу webform,
    которая содержит определение веб-форм
  • таблицу webform_element,
    которая хранит информацию об элементах форм
  • таблицу webform_log,
    которая содержит журнал событий веб-форм
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить