Bảng có thứ tự (Sortable table)

  1. /**
  2.  * Việc tạo bảng có thứ tự có thể được thực hiện khá đơn giản với Drupal
  3.  *
  4.  * Thí dụ, tạo một trang có
  5.  * - Nội dung là một bảng liệt kê các người dùng hợp lệ của hệ thống,
  6.  * - Bảng có thể được sắp xếp thứ tự theo từng cột.
  7.  * - Mặc định: nội dung được sắp thứ tự theo UID tăng dầ
  8.  * - Giới hạn trình bày mỗi trang là 50
  9.  */
  10. function mypage_handler () {
  11. $limit = 50;
  12. $sql = "SELECT uid, name, mail FROM {users} WHERE status = 1";
  13. $header = array (
  14. array ('data' => 'UID', 'width' => '41px', 'field' => 'u.uid', 'sort' => 'asc'),
  15. array ('data' => 'Username', 'field' => 'u.name'),
  16. array ('data' => 'Email', 'field' => 'u.mail'),
  17. );
  18.  
  19. $sql .= tablesort_sql ($header);
  20.  
  21. $query = pager_query ($sql, $limit);
  22. while ($user = db_fetch_object ($query)) {
  23. $rows[] = array ($user->uid, $user->name, $user->mail);
  24. }
  25.  
  26. return theme ('table', null, $rows) . theme ('pager', NULL, $limit);
  27. }