我想创建一个包含统计数据的应用程序,即美式足球运动员。
我有我的数据库,我可以查询“传球码数”、“冲码码数”等内容,然后将它们从高到低排序。然后在客户端,我正在考虑让用户重新排序结果(使用 javascript)。
到目前为止微不足道,但假设在选择传球码时我得到 100 个结果,然后查询仅返回第一页的前 20 个并提供更多或下一个选项。现在,如果我让客户端的用户自己重新排序,那么他将对前 20 个进行排序,并且可能会感到困惑,认为以某种方式排序的前 20/100 也是最低的 20/100。我也可以使用 javascript 发送 100 个结果并只显示 20 个,但如果列表增加,这可能需要一段时间才能加载。
另外,如果我考虑让他们按最高/最低排序,也许我想让他们按传球码数、按球队等排序,甚至选择球队、位置等。
我正在考虑 php 并使每个排序成为一个查询,但还有其他我不知道的方法吗?
注意:我是一个真正的初学者。
最佳答案
如果您不允许在同一页面上查看所有结果,您应该在每次用户启动排序时获取新数据(无论是使用页面重新加载还是使用 XHR)。如果您显示 100 行中的 20 行并允许客户端排序,则结果很可能不正确。
现在,如果您已加载所有结果,则可以使用比较器进行排序。如果每个键值(任何类型)对也有相应的键值(字符串——我们称之为“比较器值”),这将起作用,这样你就可以比较具有不同类型数据的行。
我们有一个网格小部件,可以获取任意数据并加载所有结果,可以允许用户按任何给定列重新排序,为此我们使用具有比较器功能的 Backbone 集合。如果您熟悉 Backbone,我可以展示这个小部件的源代码。如果需要,请发表评论。
关于php - 使用 PHP 对网站表格进行排序还是有其他选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035325/