PHP 循环输出重复项

PHP loop outputting duplicates

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]

如果有更简单的解决方案,我会洗耳恭听。我不知道如何处理这个问题。

不需要$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>";
}