We can create a sortable header using “
theme_table()” function. In sortable header user can sort a column in ascending or descending order. I am using a table called “
package_coupon“.
This table have seven fields (coupon, operator, operand, created,
expire, used and user_by). We are providing the sorting facility on
four fields only (coupon, created, expire and used). Initially, the
coupon field is sorted by ascending order.
Here
“tablesort_sql()” function is important. This function produces the
ORDER BY clause to insert in your
SQL queries, assuring that the returned database table rows match the sort order chosen by the user.
function package_coupon_list() {
$head = array(
array('data' => t('Coupon'), 'field' => 'coupon', 'sort' => 'asc'),
array('data' => t('Type of Discount')),
array('data' => t('Created'), 'field' => 'created'),
array('data' => t('Expire'), 'field' => 'expire'),
array('data' => t('Status'), 'field' => 'used'),
array('data' => t('Used by')),
);
$sql = "SELECT * FROM package_coupon" . tablesort_sql($head);
$result = db_query($sql);
while ($coupon = db_fetch_object($result)) {
$rows[] = array(
array('data' => _coupon_format($coupon->coupon)),
array('data' => ($coupon->operator == '%' ? "{$coupon->operand}% discount" : "\${$coupon->operator}{$coupon->operand} discount")),
array('data' => format_date($coupon->created, 'small')),
array('data' => format_date($coupon->expire, 'small')),
array('data' => $coupon->used . ' left'),
array('data' => ($coupon->user_by == '') ? 'None' : $coupon->user_by),
);
}
return theme_table($head, $rows);
}
|
阅读(1312) | 评论(0) | 转发(0) |