我有一个数据库,在管理员端,管理员为一个梦幻足球网站输入足球运动员和他们的统计数据。
在前端,用户会看到一个选项卡式界面(每个位置都有一个选项卡,该选项卡下有相关球员和统计数据)。
目前我在显示结果时设置了默认的 ORDER BY,如下所示:
$result = mysql_query("SELECT Player, Team, Pass_Yds, Pass_TDs, Int_Thrown, Rush_Yds, Rush_TDs, Overall_Pts, Total_Fantasy_Pts FROM ff_projections WHERE Position = 'QB' ORDER BY Pass_Yds DESC;");
我想添加一个“排序依据”下拉列表,以便查看者可以更改数据的排序方式(例如,如果他们想按照最多传球达阵 (Pass_TD) 的顺序对四分卫结果进行排序。
我该怎么做?
最佳答案
我建议允许用户在客户端简单地重新排序,而不是让用户通过 POST 表单来更改服务器上的排序。毕竟,用户已经将所有数据交付给他们。无需为相同的数据一次又一次地回发到服务器只是为了对其进行排序。
看看jqGrid , 例如。您可以将数据加载到其中并让它为您处理排序(如果需要,还可以进行分页、过滤和搜索等)。 Tablesorter是另一个。还有很多其他的。 (在 Google 上搜索“jQuery 可排序表”之类的内容会得到很多结果。)
这将提供更好的用户体验,同时减少应用程序的负载,因为您只需将相同的数据传送给用户一次而不是多次。通常它也是一种更简单的方法,因为它有助于将显示操作与数据获取分开。因此,您的服务器端代码可以保持干净和简单,而不必关心客户端的事情。
关于php - 在结果页面上启用用户 "sort by",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665825/