public function select(){
$rows = [];
$connection = $this->connect();
$result = $connection->query("SELECT username FROM users");
while ($row = $result->fetch_assoc()){
$rows[] = $row;
}
$userlist = 0;
foreach($rows as $username){
$userlist .= $username['username'];
}
$get_rankings = [1,2,3,4];
$get_image_path = "images/";
$total = 0;
for ($x = 0; $x < count($get_rankings); $x++){
$total = $get_rankings[$x];
$path .= "<img src = '" . $get_image_path . $total . ".png'>\n" . $userlist . "<br/>";
// echo "<span class = 'align-down'>{$path}";
// echo "<p class = 'user-name'> {$rows['0']}</p>";
// echo "</span>";
}
echo $path;
}
我正在尝试输出一个简单的排名,但使用数字索引作为图像来显示它们。
在过去,我曾试图做类似的事情,但无法弄清楚如何将玩家与侧面的图像相匹配。
我得到的输出是这样的:
它输出每个条目4次(我明白为什么,它在一个循环中)但我无法找出正确的解决方案将它写在循环之外或正确
所需的输出是:
我的数据库读作:
[id][username][password]
如果有一个更简单的解决方案,我会全力以赴。我不知道如何处理这个问题。
答案 0 :(得分:1)
不需要$userlist
。从$rows[$x]
输出用户名。
$path = "";
$max = min(count($rows), count($get_rankings));
for ($x = 0; $x < $max; $x++){
$total = $get_rankings[$x];
$path .= "<img src = '" . $get_image_path . $total . ".png'>\n" . $rows[$x]['username'] . "<br/>";
// echo "<span class = 'align-down'>{$path}";
// echo "<p class = 'user-name'> {$rows['0']}</p>";
// echo "</span>";
}