php - 排序列 PHP, football Stats

标签 php css

这是一个有统计数据的足球联赛。现在统计数据就在那里。我们想让玩家可以选择对每个统计数据进行排序,以查看每个级别中谁是最高的和最低的。我不知道如何让每个表排序(降序,升序)。我一直在努力解决这个问题,也许有人可以提供帮助。

    <h2>Passing Leaders</h2>
        <table class="style-std" id="passing-leaders-table">
    <thead>
        <tr>
            <th>Player</th>
            <th>&#35;</th>
            <th>Team</th>
            <th>Com</th>
            <th>Att</th>
            <th>Yd</th>
            <th>Td</th>
            <th>Int</th>
            <th>1p</th>
            <th>2p</th>
            <th>Dr</th>
            <th>Df</th>
            <th>Sk</th>
            <th>QBR</th>
        </tr>
    </thead>
    <tbody>

    <? foreach ($stats['passing'] as $row) : ?>
       <tr>
           <td><?=$row['name'] ?></td>
           <td><?=$row['number'] ?></td>
           <td><?=$row['team'] ?></td>
           <td><?=$row['completion'] ?></td>
           <td><?=$row['attempt'] ?></td>
           <td><?=$row['yard'] ?></td>
           <td><?=$row['touchdown'] ?></td>
           <td><?=$row['interception'] ?></td>
           <td><?=$row['1pat'] ?></td>
           <td><?=$row['2pat'] ?></td>
           <td><?=$row['drop'] ?></td>
           <td><?=$row['deflection'] ?></td>
           <td><?=$row['sack'] ?></td>
           <td><?=passer_rating($row) ?></td>
        </tr>
    <? endforeach ?>
    </tbody>

最佳答案

有两种方法可以做到这一点:

  1. 取决于客户端(Javascript)
  2. 取决于服务器

您拥有的数据量,以及您是否已经拥有驱动显示的分页和服务器端代码非常重要。

如果您使用 javascript 接口(interface),那么您的代码会有所不同 --- 您将读取原始数据并将其加载到表对象中。有许多使用不同 javascript 框架和库的现有解决方案。许多拥有简单应用程序的人从 jquery 开始,并使用其中一个插件来处理表格数据。这只是您可以使用的众多 jquery 插件之一:https://datatables.net/

为了达到最佳效果,您需要加载所有数据,并且数据集必须足够小,这样您就可以在不杀死典型浏览器实例的情况下执行此操作。

后端/服务器端方法通常基于传递通过单击列执行的 sort= 参数。

 <th><a href=".?sort=player">Player</a></th>

如果传递了 $_GET 参数,您可以更改脚本以使用它。

您的查询代码需要重写,以便在提供排序参数时,查询在您的 SQL 语句中包含适当的 ORDER BY,以便您获得所需的排序。

同样,框架、组件和其他可重复使用的部分将为您节省大量时间和麻烦。

您问了一个一般性问题,我提供了一个一般性答案。我应该指出,由于 passer_rating() 是一个计算列,您将无法在后端对其进行排序,除非您可以将计算转换为 SQL 本身。否则,您应该能够使用任一方法完成此操作。

关于php - 排序列 PHP, football Stats,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37738535/

相关文章:

php - 让所有用户使用相同的用户名/密码插入 mysql 数据库是否不安全?

php - 从数据库中检索 base64 图像

javascript - jQuery 在用户滚动出元素时查找

java - 使用 Selenium WebDriver Java - css 按钮上传照片

html - 数据表 : How to hide table header?

php - 获取用户注册时间?

php - 上传视频后MySQL插入查询失败的可能原因

javascript - PHPSESSID从B域到A域在Chrome和Firefox上使用,而不是在Safari和IE上使用

css - 作者风格、读者风格、代理风格(或作者、用户、用户代理风格)之间有什么区别

jquery - Twitter 请求和 API