我正在制作一款游戏,让我自己学习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 />';
?>
答案 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中的保留字