Drupal 7手动查询webforms数据库表

sis*_*sko 3 mysql drupal-7 drupal-webform

谁能让我深入了解我做错了什么?

我有一个包含32个组件的webform,我正在尝试创建提交数据的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();
Run Code Online (Sandbox Code Playgroud)

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

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

mmi*_*les 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){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢迈克.我刚刚通过在webform.submissions之前添加'includes'目录来稍微更新了你的代码 (3认同)