Таблицы, которые вас больше всего интересуют: webform
, webform_submissions
, webform_submitted_data
и webform_component
. Посмотрите на эти таблицы, и станет совершенно очевидно, как они связаны друг с другом.
Вы захотите взглянуть на API базы данных Drupal 7 , чтобы узнать, как использовать систему запросов, но вот пример для начала:
/* Get a list of all submissions from webform for the node with ID (`nid`) of 1 */
$nid = 1;
$submissions = db_select('webform_submissions', 'ws')
->fields('ws')
->condition('nid', $nid)
->execute();
/* If you want to use db_query and a plain old SQL statement instead you'd do it like this:
$submissions = db_query('SELECT * FROM webform_submissions WHERE nid = :nid', array('nid' => $nid)); */
/* Loop through the submissions and load up the submitted data for each */
$submission_data = array();
foreach ($submissions as $submission) {
$query = db_select('webform_submitted_data', 'wsa')
->fields('wc', array('name'))
->fields('wsa', array('data'))
->condition('sid', $submission->sid);
/* Join in the component table to get the element label */
$query->join('webform_component', 'wc', 'wc.nid = wsa.nid AND wc.sid = wsa.cid');
$submission_data[] = $query->execute()->fetchAllKeyed();
}
В конце этого кода у вас будет массив ($submission_data
), который содержит список массивов данных отправки для предоставленного узла. Каждый из элементов этих массивов имеет ключ метки компонента и значение переданного пользовательского значения.
Надеюсь, это поможет