$isor = 'DESC'; if ($sort_order == 'DESC') { //invert sort order for link $isor = 'ASC'; } $sort_url = "index.php?page=users&sort_order=" . $isor . $filter_url . '&pno=' . (int) $_GET['pno']; //put inverted link only for table heading $smarty->assign('sort_url', $sort_url); $filter_url .= "&sort_order=" . $sort_order . '&sort_by=' . $sort; //put normal sort order for other links //-------------count no of users $query = "SELECT count(u.id) as user_count " . " FROM " . PREFIX . "codo_users as u, " . PREFIX . "codo_user_roles as r" . " WHERE u.id=r.uid AND r.is_primary=1 " . $filters; $stmt = $db->prepare($query); $stmt->execute($filter_array); $r = $stmt->fetch(); $per_page = 10; $no_of_pages = ceil($r['user_count'] / $per_page); $fobj = new \CODOF\Forum\Forum(); $pages = $fobj->paginate($no_of_pages, $_GET['pno'], A_RURI . "index.php?page=users" . $filter_url . "&pno=", true); $smarty->assign('pagination_links', $pages); $pno = $_GET['pno']; $pno--; //starts from 0 $offset = (int) $per_page * $pno; //------------------------get users $query = "SELECT u.id,u.username,u.user_status,role.rname as role,u.created,u.no_posts " . " FROM " . PREFIX . "codo_users as u, " . PREFIX . "codo_user_roles as r, " . PREFIX . "codo_roles AS role " . " WHERE u.id=r.uid AND r.is_primary=1 AND role.rid=r.rid " . $filters . " ORDER BY {$sort_column} {$sort_order} " . " LIMIT 10 OFFSET {$offset}"; $stmt = $db->prepare($query); $stmt->execute($filter_array); $smarty->assign('users', $stmt->fetchAll()); $content = $smarty->fetch('users.tpl'); }