数据库中的位置是Drupal 6中存储的内容类型字段

时间:2012-05-21 16:12:53

标签: php sql drupal-6 drupal-7

我需要访问内容类型的特定字段,以便我可以相应地排序和显示我想要的内容。我没有可用的视图模块,因为我没有安装权限,所以我必须使用查询和一些php魔术。

我收到了一些关于Drupal 7字段表名的非常有用的信息,但看起来字段值的组织/约定以及它们的存储位置自6以来已经发生了变化。

我在Drupal 7中发现每个内容类型字段都存储在自己独立的表中。假设我有一个我叫组的字段,表名将是“field_data_field_group。”

但是,当我尝试在Drupal 6网站上使用此约定时,它表示该表不存在。

我的问题是表字段的名称是什么存储的?或者它是一个完全不同于Drupal 7的系统?谢谢你看看。

1 个答案:

答案 0 :(得分:1)

对于Drupal 6,请查看以下几个地方:

  1. 在Drupal 6数据库中,查找名为 content_ [your_field_name] 的表格,例如content_field_brief_description。执行SELECT *以查看该字段表中的行(如果存在)。

  2. 查找名为 content_type_ [your_content_type] 的表格,例如content_type_resource。对该表执行相同的操作,看看您是否在该字段中获得了任何列,而不是可能与该内容类型相关联的标题/正文。

  3. 如果有效,请告诉我们!


    编辑:

    示例代码:

    $result = db_query("SELECT * FROM {table_name}");
    while ($row = db_fetch_array($result)) {
       // do something like drupal_set_message(var_dump($row));
    }
    

    按原样保留花括号,但只需将其替换为您目前正在使用的表名...