为了账号安全,请及时绑定邮箱和手机立即绑定

当格式为 1:2:3:4 时在 PHP 中获取 MySQL 数据

当格式为 1:2:3:4 时在 PHP 中获取 MySQL 数据

PHP
aluckdog 2023-04-21 13:13:36
我正在尝试将数据提取到 PHP 以创建一个简单的统计信息页面,对于我的大多数数据库,统计信息都分为单独的列,因此我能够这样做:    <tbody>        <?php        mysqli_select_db($connect, $database);;        $sql = "SELECT name,kills FROM global_stats ORDER BY kills DESC LIMIT 5";        $result = mysqli_query($connect, $sql);        $count = 1;        while ($row = mysqli_fetch_array($result))         {            echo "<tr> <td>" . $count . "</td>";            echo "<td>" . $row['name'] . "</td>";            echo "<td>" . $row['kills'] .  "</td> </tr>";            $count++;        }        ?>    </tbody>尽管在我的一个数据库中,数据以一种奇怪的方式保存,其中每个统计数据都在一个表中,由以下部分分隔: - 有没有一种方法可以获取第二个区域中的所有数据,例如,用户名,然后只对第二个区域进行排序,只输出 5 个结果。
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

这个查询:


SELECT 

  name,

  CONVERT( SUBSTRING_INDEX( SUBSTRING_INDEX(stats, ':', 2), ':', -1), INTEGER) as kills

FROM

  table

ORDER BY kills DESC

LIMIT 5

将转换第二个字段并返回前 5 个 - 我不知道名称的来源,因为它不在您的屏幕截图中,因此可能需要做更多的工作


它通过两次使用子字符串索引来工作。第一次使用(内部)意味着“从左边开始向前计数到第二个定界符并将其用作子字符串的终点”然后第二次使用(外部)意味着“向后计数到第一个定界符并使用它作为子字符串的起点


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 65 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信