php - 使用 PHP 对网站表格进行排序还是有其他选择?

标签 php javascript html web

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

我有我的数据库,我可以查询“传球码数”、“冲码码数”等内容,然后将它们从高到低排序。然后在客户端,我正在考虑让用户重新排序结果(使用 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/

相关文章:

php - 格式化文本文件

javascript - 如何阻止查询结果在 html 选项下拉框中重复?

javascript - 在 javascript 中实现 quickSort 时遇到问题

javascript - Canvas 到 32 位打包的 ARGB

php - 使用单选按钮过滤搜索 PHP SQL

php - Laravel 取消散列值?

php - 如何在 Laravel 查询中执行 IS NOT NULL

javascript - 检查单元格中的文本是否为粗体

javascript - 如何在 HTML 的 Select Option 中对齐两个单词

javascript - JS : Transfer DataTransferItemList to WebWorker