首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成类似web窗体结果的报告

生成类似web窗体结果的报告
EN

Drupal用户
提问于 2017-05-10 12:03:32
回答 1查看 118关注 0票数 0

在Drupal 7中,我想生成一个类似webforms的报告(相同的字段,但是创建了2个webforms来处理多语言翻译)结果。我的两个网页中的所有字段都是相同的。我尝试使用视图来获取这两个webforms的结果,这是不起作用的。

你知道怎么做到这一点吗?

我这样做是为了获得保存在webform_submitted_data表中的this文件名。

添加SQL:

代码语言:javascript
复制
SELECT wsd.nid, wsd.sid, fm.filename, 
       MAX(CASE WHEN wsd.cid = 2 THEN wsd.data END) fn,
       MAX(CASE WHEN wsd.cid = 3 THEN wsd.data END) ln,
       MAX(CASE WHEN wsd.cid = 4 THEN wsd.data END) email,
       MAX(CASE WHEN wsd.cid = 5 THEN wsd.data END) ph,
       MAX(CASE WHEN wsd.cid = 6 THEN wsd.data END) tr,
       MAX(CASE WHEN wsd.cid = 7 THEN wsd.data END) upr,
       MAX(CASE WHEN wsd.cid = 9 THEN wsd.data END) coc
  FROM webform_submitted_data wsd LEFT JOIN file_managed fm ON wsd.data = fm.fid WHERE nid IN(66,67) GROUP BY wsd.sid;
EN

回答 1

Drupal用户

回答已采纳

发布于 2017-05-10 15:54:32

如果视图不能完成您想要做的事情,您可能需要考虑将福雷纳模块(公开:我是一个共同维护人员)作为一种可能的选择。

例如,创建一个适合您需要的自定义“数据块”(它只是一个SQL语句),以检索您感兴趣的webform数据。下面是一个(基本)示例:

代码语言:javascript
复制
SELECT s.nid AS node, s.sid AS submission, d.cid AS component, d.data AS fieldvalue
FROM {webform_submissions} s JOIN {webform_submitted_data} d ON s.sid=d.sid 
WHERE d.cid=3 AND s.nid=5
ORDER BY s.sid ASC

然后创建一个使用此数据块的Forena "report“(您可能希望在”文档类型“中启用类似于"CSV”选项的内容)。以下是这类报告的(基本)布局,以说明这一想法:

代码语言:javascript
复制
<body>
<div id="webform_submissions_data_block" class="FrxTable" frx:block="drupal_cust/webform_submissions_data">
    <table>
      <thead>
        <tr>
          <th>node</th>
          <th>submission</th>
          <th>component</th>
          <th>fieldvalue</th>
        </tr>
      </thead>
      <tbody>
        <tr id="webform_submissions_data" frx:foreach="*">
          <td>{node}</td>
          <td>{submission}</td>
          <td>{component}</td>
          <td>{fieldvalue}</td></tr>
      </tbody>
    </table>
  </div>
</body>

在保存报表规范并浏览生成的报表之后,您可以使用"CSV"-hyperlink (报表的右上角)。用那个链接然后..。当然,这里有您的CSV文件(在本例中有4列,因为这是我的(基本)报告中所要求的)。

如果这是有意义的,那么负责Forena社区文档的负责人让您开始工作(其中包括指向视频教程的指针)。或者使用Forena附带的文档。

当然,构建适当的SQL语句以完全满足您的需求将是至关重要的。但除此之外,这只是Forena的基本用法。

更新

要“创建一个临时表”(如您在这个答案下面的注释,以及您更新的问题),您可能想看看此功能请求中的建议(由David提出)。虽然我个人没有使用Forena创建这样的临时表的经验。

提醒: Forena是查询数据(如您的问题的第一个版本),而不是更新、删除等此类数据。

票数 3
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/235927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档