1

我想创建一个带有统计数据的应用程序,即美式足球运动员。

我有我的数据库,我可以查询诸如“传球码”、“冲码数”等内容,然后将它们从高到低排序。然后在客户端我正在考虑让用户重新排序结果(使用javascript)。

到目前为止微不足道,但是假设在选择通过码时我得到 100 个结果,然后查询仅返回第一页上的前 20 个并给出更多或下一个选项。现在,如果我让客户端的用户自己重新排序,那么他将对前 20 个进行排序,并且可能会混淆认为以某种方式排序的前 20/100 也是最低的 20/100。我还可以发送 100 个结果并使用 javascript 仅显示 20 个,但如果列表增加,这可能需要一段时间才能加载。

另外,如果我考虑如果我让他们按最高/最低排序,也许我想让他们按传球码数、球队等排序,甚至选择球队、位置等。

我正在考虑 php 并让每个排序查询,但还有其他我不知道的方法吗?

注意:我是一个真正的初学者。

4

2 回答 2

3

如果您不允许在同一页面上查看所有结果,您应该在每次用户启动排序时获取新数据(无论是页面重新加载,还是使用 XHR)。如果显示 100 行中的 20 行并允许客户端排序,则结果很可能不正确。

现在,如果您已加载所有结果,则可以使用比较器进行排序。如果每个键值(任何类型)对也有一个对应的键值(字符串——我们称之为“比较器值”),这将起作用,这样您就可以比较具有不同类型数据的行。

我们有一个网格小部件,它可以获取任意数据并加载所有结果,允许用户按任何给定列重新排序,为此我们使用带有比较器功能的 Backbone 集合。如果你熟悉 Backbone,我可以展示这个小部件的源代码。如果您愿意,请发表评论。

于 2012-10-23T17:26:13.580 回答
2

好吧,有很多方法可以检索和显示动态 Web 项目的数据,但这超出了您的信息范围。如果我站在你的立场上,我会使用 java (Java EE),使用带有 hibernate 的 struts,并且可能只是为了让它更容易而在上面弹出,但我猜你不知道这些,并且仅限于 javascript 和 php。

我想说为用户可能输入的每种类型的结果进行查询会很乏味,但考虑到您是初学者,这可能是您的最佳选择。这不是“最佳实践”,但如果这只是您自己正在进行的一个小项目,我认为它会起作用。

于 2012-10-23T17:15:52.823 回答