mysql - 如何在drupal中进行php操作

标签 mysql forms drupal drupal-7

我是 drupal 的绝对初学者。

我添加了一个联系表单(使用Webform 模块)。

现在我想保存在表单中输入的数据。但我迷路了。我在网上搜索过,发现db_query()用于查询数据库。

但是我不知道在哪里写php代码。请帮助我,或者如果您知道任何链接,请给我。

最佳答案

您最感兴趣的表格是 webformwebform_submissionswebform_subscribed_datawebform_component。看看这些表,它们是如何链接在一起的就变得非常明显。

您需要查看 Drupal 7 Database API了解如何使用查询系统,但这里有一个示例可以帮助您入门:

/* Get a list of all submissions from webform for the node with ID (`nid`) of 1 */
$nid = 1;
$submissions = db_select('webform_submissions', 'ws')
  ->fields('ws')
  ->condition('nid', $nid)
  ->execute();

/* If you want to use db_query and a plain old SQL statement instead you'd do it like this: 
$submissions = db_query('SELECT * FROM webform_submissions WHERE nid = :nid', array('nid' => $nid)); */

/* Loop through the submissions and load up the submitted data for each */
$submission_data = array();
foreach ($submissions as $submission) {
  $query = db_select('webform_submitted_data', 'wsa')
    ->fields('wc', array('name'))
    ->fields('wsa', array('data'))
    ->condition('sid', $submission->sid);

  /* Join in the component table to get the element label */
  $query->join('webform_component', 'wc', 'wc.nid = wsa.nid AND wc.sid = wsa.cid');

  $submission_data[] = $query->execute()->fetchAllKeyed();

}

在该代码的末尾,您将得到一个数组 ($submission_data),其中包含所提供节点的提交数据数组的列表。这些数组的每个项目都有一个组件标签的键和提交的用户值的值。

希望有帮助

关于mysql - 如何在drupal中进行php操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7953774/

相关文章:

sql - 返回最新版本的 Drupal 节点

drupal - 为某些节点发出 403

mysql - 任何人都可以帮助我了解 SQL 查询(GROUP WHERE)

PHP MySQL 列无效

mysql - SSIS:SQL 2008 R2 到 MySQL 数据丢失

jQuery 验证未捕获的类型错误 : Cannot call method 'getAttribute' of undefined

javascript - 无需 Javascript 自动运行 POST 表单

mysql - 然后使用案例

php - 将mysql表中的php记录插入到不同的表中

php - 德鲁帕尔 7 : Access Denied localhost/user/[user_id] after successful login