【发布时间】:2010-09-12 00:36:00
【问题描述】:
过去几周我一直在使用 CodeIgniter 作为框架开发一个网站。我一直在思考完成某事的最佳方式,这在其他语言的许多其他框架中相对简单:可排序表。 CodeIgniter 默认关闭查询字符串,因为您的 URL 包含方法参数。所以一个 URL 可能看起来像:
/controller/method/param1/param2
您可能认为您可以将sortBy 和sortOrder 作为两个附加参数添加到控制器方法中。我不是特别想这样做,主要是因为我想要一个可重复使用的控制器。当您使用查询字符串参数时,PHP 可以很容易地告诉您是否有一个名为sortBy 的参数。但是,当您使用基于 URL 的参数时,它会因每个控制器而异。
我想知道我的选择是什么。据我所见,它们类似于:
- 传入我的
sortBy和sortOrder参数,把它吸起来,然后为它开发一些不可重用的组件。 - 有一个额外的控制器,它将在会话中存储
sortBy和sortOrder(尽管它必须知道您来自哪里,并将您送回原始页面)。 - 有某种AJAX函数,可以调用上面的控制器;然后重新加载页面。
- 破解 CodeIgniter 以重新打开查询字符串。实际上,如果这是唯一的选择,任何有关如何执行此操作的链接都将不胜感激。
我简直不敢相信这么简单的任务会出现这样的问题!我错过了什么吗?有人有什么建议吗?
虽然我喜欢 jQuery,并且我已经在网站上使用它,但 TableSorter 是一个不错的选择。但是,我想进行服务器端排序,因为有些页面可能包含大量结果,包括分页。
【问题讨论】:
标签: php sorting codeigniter