2012-05-21 75 views
1

我需要訪問內容類型的特定字段,以便我可以對其進行排序並顯示相應的內容。我沒有Views模塊可用,因爲我沒有安裝權限,所以我必須使用查詢和一些PHP魔術來做到這一點。在數據庫中的內容類型字段存儲在Drupal 6

我收到的有關領域爲Drupal 7的表名了一些非常有用的信息,但現在看來,該組織/約定字段值,並存儲它們已經改變,因爲6

我在Drupal發現在圖7中,每個內容類型字段存儲在它自己的單獨表格中。假設我有一個我稱爲group的字段,那麼表名將是「field_data_field_group」。

但是,當我嘗試在我的Drupal 6站點上使用這個約定時,它說該表不存在。

我的問題是表字段存儲在什麼名稱?或者它與Drupal 7完全不同?謝謝參觀。

+0

我對Drupal瞭解不多,但不是一個Web框架,而不是一個數據庫?你用什麼RDBMS爲你的後端數據庫? SQLite的? – 2012-05-21 16:15:38

回答

0

爲Drupal 6,看在以下幾個地方:

  1. 在Drupal的6數據庫,尋找一個這就是所謂的content_ [your_field_name]表,例如,content_field_brief_description。執行SELECT *以查看該字段表的哪些行(如果存在)。

  2. 查找名爲的表格content_type_ [your_content_type],例如content_type_resource。對該表執行同樣的操作,看看是否在該字段中獲得任何列,而不是可能與該內容類型關聯的標題/正文。

讓我們知道,如果工作!


編輯:

示例代碼:

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

保持大括號的是,只是替換與您正在使用的那一刻表名...

+0

我收到一個錯誤,正在尋找content_ [your_field_name](在我的情況下是「content_field_group」)。我可以根據你的第二條建議查詢content_type_person。但是,我一直不成功地使用SELECT *來查找行標籤,所以我可以看到我正在處理的內容。 – durpleman

+0

不幸的是,我不再在Drupal 6中工作太多,所以我已經忘記了一些語法,但是看看我上面編輯的響應,看看一個例子,至少讓你開始。我主要使用phpMyAdmin查看我的表格,但我假設您無法訪問該類或其他類似內容。讓我知道,如果上述讓你在正確的軌道或接受答案,如果它解決了你的問題! –

+0

使用上表中的「content_type_ [your type here]」和上面提供的代碼,將顯示提供的內容類型的每個實例的每個字段。從那裏,我能弄明白。我長期存在的問題已經解決。萬分感謝。 – durpleman

相關問題