显示列的总量

时间:2017-11-07 08:10:34

标签: php mysqli

我正在制作一款游戏,让我自己学习PHP。我已经取得了相当大的进步,但我现在已经陷入了统计数据,我想要显示当前在游戏中每个玩家级别的数量。

谢谢大家,终于设法解决了问题 - 不是在答案的方式,但答案确实帮助我得到了结果!

这是:

<?php
echo '<b>Current Classes in the Game :</b>' . '<br />';

$result = $db->query("SELECT COUNT(*) FROM users WHERE role='Warrior'");
$row = $result->fetch_row();
echo $row[0] . ' Warriors' . '<br />';

$result = $db->query("SELECT COUNT(*) FROM users WHERE role='Mage'");
$row = $result->fetch_row();
echo $row[0] . ' Mages' . '<br />';

$result = $db->query("SELECT COUNT(*) FROM users WHERE role='Priest'");
$row = $result->fetch_row();
echo $row[0] . ' Priests' . '<br />';

$result = $db->query("SELECT COUNT(*) FROM users WHERE role='Rogue'");
$row = $result->fetch_row();
echo $row[0] . ' Rogues' . '<br />';
?>

2 个答案:

答案 0 :(得分:1)

您需要使用mysqli执行这样的SQL查询:

select
    count(*) as nb,
    class
from
   yourTable
group by class

答案 1 :(得分:-1)

我认为你想使用MySQL(因为你正在显示phpmyadmin的截图)

SQL代码将是

SELECT count(`class`), `class` FROM your_table_name;

此代码可以由php运行,例如使用mysqli。你的PHP代码将是

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/* maybe some error handling, visit php website for this */
$query = "SELECT count(`class`), `class` FROM your_table_name;";

$result = $mysqli->query($query)

if($result){
    while($row = $result->fetch_row()){
        printf("%i: %s \n", $row[0], $row[1]);
    }
}

(未经测试)

此外,您可以将GROUP BY用于SQL代码,您可以将其更改为

SELECT count(`class`), `class` FROM your_table_name GROUP BY `class`;

修改

确保在mysql语句中使用`之前的“class”,类是MySQL中的保留字