本文實(shí)例講述了drupal內(nèi)的表格化輸出實(shí)現(xiàn)方法。是基于drupal6實(shí)現(xiàn)的。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
1、theme_table()
在drupal內(nèi),theme函數(shù)就是用來控制輸出的。在定制模塊的時(shí)候,你要想將你的數(shù)據(jù)輸出成table格式,就用到這個(gè)了。十分方便。
格式:Theme_table() 含有4個(gè)參數(shù), $header, $rows, $attributes (optional) 和 $caption (optional).
$header 是一個(gè)數(shù)組,代表著table header, $rows是一個(gè)數(shù)組,代表著 table rows, $attributes是一個(gè)應(yīng)用于table的attributes數(shù)組, $caption 表格的caption .
實(shí)例應(yīng)用:編碼一個(gè)table通常需要3個(gè)步驟。
1. 創(chuàng)建表頭
2. 寫數(shù)據(jù)庫查詢
3. 創(chuàng)建rows
下面來創(chuàng)建一個(gè)簡單的表格,列出節(jié)點(diǎn)的標(biāo)題,類型,創(chuàng)建日期,作者。
創(chuàng)建表頭:
復(fù)制代碼代碼如下:$header = array(
array(
'data' => t('Title'),
'field' => 'n.title',
'sort' => 'asc',
),
array(
'data' => t('Type'),
),
array(
'data' => t('Author'),
'field' => 'u.name',
), </p> <p> array(
'data' => t('Date Created'),
'field' => 'n.created',
),
);
詳解:header是一個(gè)多維數(shù)組,table表頭的每個(gè)單元(table內(nèi)的 column )均由一個(gè)關(guān)聯(lián)數(shù)組構(gòu)成,包含著一個(gè)或者多個(gè)下面的keys。
data:必須的,這是將要顯示的文本。
field :分類column時(shí)需要這個(gè),這是一個(gè)數(shù)據(jù)庫字段。
sort:column排列順序,可選。
數(shù)據(jù)庫查詢:
復(fù)制代碼代碼如下:$query = "SELECT n.title, n.created, n.type, u.name </p> <p>FROM {node} AS n </p> <p> LEFT JOIN {users} AS u
ON n.uid = u.uid" </p> <p>. tablesort_sql($header);
獲得rows!
復(fù)制代碼代碼如下:$result = db_query($query); </p> <p> $rows = array();
while ($row_object = db_fetch_object($result)) { </p> <p> $rows[] = array(
'data' => array( </p> <p> //Title </p> <p> array( </p> <p> 'data' => $row_object->title, </p> <p> ), </p> <p> //Type </p> <p> array( </p> <p> 'data' => $row_object->type, </p> <p> ), </p> <p> //Author </p> <p> array( </p> <p> 'data' => $row_object->name, </p> <p> ), </p> <p> //Date created </p> <p> array( </p> <p> 'data' => date('M d, Y', $row_object->created), </p> <p> ), </p> <p> ), </p> <p> ); </p> <p> } </p> <p>print theme('table', $header, $rows);
希望本文所述對大家的drupal建站有所幫助。
更多信息請查看IT技術(shù)專欄