You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 7中如何获取指定日期范围内的Webform提交数据

获取Drupal 7 Webform指定日期范围的提交数据

嘿,这个需求我熟!在Drupal 7里,webform_get_submissions()其实自带了条件过滤的能力,不用先拉取所有提交再自己筛选,直接传日期范围参数就行,效率高多了。

具体操作很简单,核心是把你要的日期转换成Unix时间戳,然后通过submitted字段的条件来限定范围。这里给你写个完整的示例:

// 定义你需要的日期范围,精确到时分秒避免遗漏
$start_timestamp = strtotime('2018-04-16 00:00:00');
$end_timestamp = strtotime('2018-04-28 23:59:59');

// 替换成你目标Webform的节点ID(nid),可以从表单编辑页面URL里找到
$target_webform_nid = 123;

// 构建查询条件数组
$filter_conditions = array(
  'nid' => $target_webform_nid,
  'submitted' => array(
    'value' => array($start_timestamp, $end_timestamp),
    'operator' => 'BETWEEN',
  ),
);

// 获取符合条件的提交数据
$filtered_submissions = webform_get_submissions($filter_conditions);

给你解释几个关键点:

  • submitted是Webform存储提交时间的字段,用BETWEEN操作符可以精准限定时间区间,把结束时间设为23:59:59能确保包含当天最后一刻的提交,不会漏掉。
  • 替换$target_webform_nid的时候,记得改成你实际使用的Webform的节点ID——比如你打开表单编辑页面,URL是node/456/edit,那nid就是456。
  • 关于时区的问题不用太担心,strtotime()会自动使用Drupal站点设置的时区,所以转换出来的时间戳和Webform存储的是一致的。

如果之后需要调整范围,只要修改起始和结束的日期字符串就行,非常灵活。

内容的提问来源于stack exchange,提问作者Marwen Amri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:28:19