本文实例讲述了drupal实现输出可点击表头排序表格的方法。分享给大家供大家参考。具体实现方法如下:
drupal中可以用theme_table输出表格,并且支持点击表头排序。步骤如下:
1.定义表头:
复制代码代码如下:$header = array(
array('data' => '用户名', 'field' => 'name'),
array('data' => '状态', 'field' => 'status', 'sort' => 'desc'),
array('data' => '角色'),
array('data' => '注册时间', 'field' => 'created', 'sort'=>'desc'),
array('data' => '上次访问时间', 'field' => 'access')
);
其中'data'是表头显示的文字,'field'是对应的sql语句中order by的字段名称,'sort'指定默认的排序顺序。没有指定'field'的表头不排序。
2.定义对应的sql语句:
复制代码代码如下:$select = db_select('users', 'u')->extend('TableSort');
$select->fields('u', array('uid', 'name', 'status', 'created', 'access'))
->condition('u.uid','0','>')
->orderByHeader($header);
这里通过orderByHeader($header)把SQL语句与表头对应起来。
3.准备表格内容:
$rows = array(); ...... 把表格中显示的数据存放到$rows数组里。$rows的每一行是一个数组,按照顺序依次存放各列显示的内容。
4.生成HTML
复制代码代码如下:theme('table', array('header'=>$header, 'rows'=>$rows))
希望本文所述对大家的drupal二次开发有所帮助。