0
点赞
收藏
分享

微信扫一扫

drupal内的表格化输出


基于drupal6.
1,theme_table()
在drupal内,theme函数就是用来控制输出的。在定制模块的时候,你要想将你的数据输出成table格式,就用到这个了。十分方便。
格式:Theme_table() 含有4个参数, $header, $rows, $attributes (optional) 和 $caption (optional).
$header 是一个数组,代表着table header, $rows是一个数组,代表着 table rows, $attributes是一个应用于table的attributes数组,  $caption 表格的caption .

实例应用:编码一个table通常需要3个步骤。
1,创建表头
2,写数据库查询
3,创建rows
下面来创建一个简单的表格,列出节点的标题,类型,创建日期,作者。

创建表头: 

$header = array(  
array(
'data' => t('Title'),
'field' => 'n.title',
'sort' => 'asc',
),
array(
'data' => t('Type'),
),
array(
'data' => t('Author'),
'field' => 'u.name',
),
array(
'data' => t('Date Created'),
'field' => 'n.created',
),
);

复制代码

header是一个多维数组,table表头的每个单元(table内的 column )均由一个关联数组构成,包含着一个或者多个下面的keys。

data:
必须的,这是将要显示的文本。
field :
分类column时需要这个,这是一个数据库字段。
sort:
column排列顺序,可选。

数据库查询: 

$query = "SELECT n.title, n.created, n.type, u.name  
FROM {node} AS n
LEFT JOIN {users} AS u
ON n.uid = u.uid"
. tablesort_sql($header);

复制代码

rows! 
$result = db_query($query);
$rows = array();
while ($row_object = db_fetch_object($result)) {
$rows[] = array(
'data' => array(
//Title
array(
'data' => $row_object->title,
),
//Type
array(
'data' => $row_object->type,
),
//Author
array(
'data' => $row_object->name,
),
//Date created
array(
'data' => date('M d, Y', $row_object->created),
),
),
);
}
theme('table', $header, $rows);

举报

相关推荐

0 条评论