【问题标题】:Adding a rank using php and mysql [duplicate]使用php和mysql添加排名[重复]
【发布时间】:2017-10-10 09:53:16
【问题描述】:

我有一些用于从我的数据库中提取结果的 php 代码:

<?php  $res=mysql_query("SELECT SUM(step_count.steps) as total, 
leagues.league_id, leagues.league_name
    FROM step_count
    INNER JOIN logins on
      step_count.email=logins.email
    INNER JOIN leagues ON
      leagues.email=logins.email
    GROUP BY leagues.league_id, leagues.league_name
    ORDER BY `total` DESC LIMIT 10");

    while ($row = mysql_fetch_array($res))
    {
      ?>

      <?php echo $row['league_name']; ?>
      <?php echo $row['total']; ?>

我得到了想要的结果

Test      | 6200 
TestTwo   | 5600 
TestThree | 3400

我想知道是否有一种方法可以为这些结果创建排名,所以它看起来像这样,而无需自己手动添加排名

#1 Test      | 6200 
#2 TestTwo   | 5600 
#3 TestThree | 3400

【问题讨论】:

  • 你的意思是按总数排序
  • 已经按总排序了,我就想在旁边加个排名分
  • 您想对哪个参数进行排名?如果它是现有的,您可以添加一个 ORDER 语句,或者如果您想要某种显示顺序,您可以添加一个显示顺序列...
  • 排名分数在哪里?
  • 您想分享您的架构吗?

标签: php mysql


【解决方案1】:

根据你的问题,你想显示列数试试这个代码

<?php  
    $res=mysql_query("SELECT SUM(step_count.steps) as total, 
    leagues.league_id, leagues.league_name
        FROM step_count
        INNER JOIN logins on
          step_count.email=logins.email
        INNER JOIN leagues ON
          leagues.email=logins.email
        GROUP BY leagues.league_id, leagues.league_name
        ORDER BY `total` DESC LIMIT 10 ");
        $rank = 1;
        while ($row = mysql_fetch_array($res))
        {
    ?>
    <?php echo '#'.$rank++; ?>
    <?php echo $row['league_name']; ?>
    <?php echo $row['total']; ?>
<?php } ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    • 2013-11-21
    • 2012-12-12
    相关资源
    最近更新 更多