过去几周我一直在使用CodeIgniter作为框架开发一个网站.我一直在考虑实现某些目标的最佳方法,在其他语言的许多其他框架中,这些方法相对简单:可排序表. CodeIgniter默认关闭查询字符串,因为您的URL包含方法参数.所以URL可能如下所示:
/controller/method/param1/param2
您可能认为可以将sortBy和sortOrder添加为控制器方法的两个附加参数.我不是特别想这样做,主要是因为我想要一个可重复使用的控制器.当您使用查询字符串参数时,PHP可以轻松地告诉您是否存在名为sortBy的参数.但是,当您使用基于URL的参数时,它将随每个控制器而变化.
我想知道我的选择是什么.据我所知,他们是这样的:
>传入我的sortBy和sortOrder参数,只需将其吸收,然后为它开发一些不太可重复使用的组件.
>有一个额外的控制器,它将sortBy和sortOrder存储在会话中(虽然它必须知道你来自哪里,并将你送回原始页面).
>有一些AJAX功能,可以调用上面的控制器;然后重新加载页面.
> Hack CodeIgniter重新打开查询字符串.实际上,如果这是唯一的选择,任何指向如何做到这一点的链接将不胜感激.
我只是不相信这么简单的任务就会出现这样的问题!我错过了什么吗?有人有什么建议吗?
编辑澄清:我喜欢jQuery,我已经在网站上使用它,所以TableSorter是一个不错的选择.但是,我想进行服务器端排序,因为有些页面可能包含大量结果,包括分页.
我一直在使用这种方法:
http://codeigniter.com/forums/viewthread/45709/#217816
原文链接:https://www.f2er.com/php/137507.htmlhttp://codeigniter.com/forums/viewthread/45709/#217816
我还将它扩展为基于排序设置cookie,因此当有人回来时,表格的分类与之前相同.