在Drupal 7中,我想生成一个类似webforms的报告(相同的字段,但是创建了2个webforms来处理多语言翻译)结果。我的两个网页中的所有字段都是相同的。我尝试使用视图来获取这两个webforms的结果,这是不起作用的。
你知道怎么做到这一点吗?
我这样做是为了获得保存在webform_submitted_data表中的this文件名。
添加SQL:
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;发布于 2017-05-10 15:54:32
如果视图不能完成您想要做的事情,您可能需要考虑将福雷纳模块(公开:我是一个共同维护人员)作为一种可能的选择。
例如,创建一个适合您需要的自定义“数据块”(它只是一个SQL语句),以检索您感兴趣的webform数据。下面是一个(基本)示例:
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”选项的内容)。以下是这类报告的(基本)布局,以说明这一想法:
<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是查询数据(如您的问题的第一个版本),而不是更新、删除等此类数据。
https://drupal.stackexchange.com/questions/235927
复制相似问题