2017-10-30 5 views
0
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; 
} 

私は簡単なランキングを出力しようとしていますが、番号インデックスを画像として使用して表示しています。PHPループが重複して出力する

これまで私は似たようなことを試みてきましたが、プレーヤのイメージとどのように一致させるかを理解できませんでした。出力イムが取得

はこれです:それは私が外にそれを書くために、正しい解決策を把握することはできません(私はなぜ、そのループ内で取得)の各エントリを4回出力します

enter image description here

ループの又は適切

所望の出力である:

enter image description here

マイデータベース

[id][username][password] 

簡単な解決策がある場合は、私はすべての耳です。私はこれに近づく方法を知らない。

+0

'$ userlist。= $ username ['username'];'すべてのユーザーを1つの文字列で連結し、その文字列を出力します。ループ。 –

+0

_for_ループの前に$ path変数を初期化して、 '$ path =" ";' _notice_メッセージを削除してください。 – Antikhippe

+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>"; 
} 
+1

私は$ rows [$ x] [username]を使ってユーザー名を表示する必要があります –

関連する問題