drupal内的表格化输出

前几天在查找分页函数时,发现一篇英文写的不错的文章。总结下,以便以后使用。 基于drupal 6.
1theme_table()
drupal内,theme函数就是用来控制输出的。在定制模块的时候,你要想将你的数据输出成table格式,就用到这个了。十分方便。
格式Theme_table() 含有4个参数, $header, $rows, $attributes (optional) 和 $caption (optional).
$header 是一个数组,代表着table header, $rows是一个数组,代表着 table rows, $attributes是一个应用于tableattributes数组 $caption 表格的caption .

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

创建表头: 

$header array(  

   array(  

   'data' => t('Title'),  

   'field' => 'n.title',  

   'sort' => 'asc',  

  ),  

   array(  

    'data' => t('Type'),  

  ),  

10   array(  

11      'data'  => t('Author'),  

12     'field' => 'u.name',  

13 ),  

14 

15   array(  

16     'data' => t('Date Created'),  

17    'field' => 'n.created',  

18    ),  

19 );

复制代码

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

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

数据库查询: 

20 $query "SELECT n.title, n.created, n.type, u.name  

21 

22         FROM {node} AS  

23 

24           LEFT JOIN {users} AS  

25           ON n.uid u.uid"  

26 

27         tablesort_sql($header);

复制代码

获得rows! 

28 $result db_query($query);  

29 

30 $rows array();  

31 while ($row_object db_fetch_object($result))  

32 

33   $rows[] array(  

34    'data' => array(  

35 

36     //Title  

37 

38     array(  

39 

40       'data' => $row_object->title,  

41 

42    ),  

43 

44   //Type  

45 

46    array(  

47 

48    'data' => $row_object->type,  

49 

50    ),  

51 

52     //Author  

53 

54   array(  

55 

56    'data' => $row_object->name,  

57 

58     ),  

59 

60   //Date created  

61 

62    array(  

63 

64    'data' => date('M d, Y', $row_object->created),  

65 

66   ),  

67 

68   ),  

69 

70 );  

71 

72  

73 

print theme('table', $header, $rows);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值