3

任何人都可以让我深入了解我做错了什么吗?

我有一个包含 32 个组件的网络表单,我正在尝试创建提交数据的 XML。该表格已填写并提交一次。

$query  =   db_select('webform_submitted_data', 'wsd');
$query->join('webform_component', 'wc', 'wsd.cid = wc.cid');

$query->fields('wsd', array('nid', 'cid', 'data', 'sid'));
$query->fields('wc', array('form_key', 'name'));

$results    =   $query->execute()->fetchAll();

如您所见,我在 2 个表之间执行连接,以便为每个填充的 webform 组件获取 form_key。

问题是我得到的结果多于 32 个 - 不知何故,结果出现了严重错误。

4

1 回答 1

10

如果您尝试获取提交数据,您可以使用 webforms api 通过webform_get_submissions函数检索特定 webform 的所有提交。然后,您可以解析每次提交的数据以构建您的 XML。

module_load_include('inc','webform','includes/webform.submissions');
$submissions = webform_get_submissions(array('nid'=>$webform_nid));

foreach ($submissions as $submission){
    foreach ($submission->data as $row=>$data){
        ...
    }
}
于 2012-10-05T17:12:29.580 回答