0

だから私はブートストラップアコーディオンを取得して、ほとんどの勝利で判断された上位 5 チームを動的に表示しようとしています。他のランキングにも使用しています。

問題は、タブ 2、3、または 4 をクリックするたびに、アコーディオンのタブ 1 しか開かないことです。この問題は、「href = '#collapse41'」がすべてのループで同じであることによるものです。これには、アコーディオンの div タブごとに一意の ID が必要になると思いますが、正しく実装する方法がわかりません。私は100%間違っている可能性があります。もしそうなら、私を修正してください!

これについて約15回検索しましたが、1つの回答しか見つかりませんでした。これはあまり詳細でも役に立ちませんでした. これを行う方法を学ぶための助けや指針をいただければ幸いです。

(名前を #collapse41 に変更したのは、同じページに複数のアコーディオンがあるためです。)


<div class="accordion" id="accordion2">
<?php
include 'db.php'; //connect to database
$result = mysql_query("SELECT * FROM teams ORDER BY wins DESC LIMIT 5");
    $rank = 1;

    if (mysql_num_rows($result)) {
        while ($row = mysql_fetch_assoc($result)) {

echo "<div class='accordion-group'>";
echo "<div class='accordion-heading'>";
echo "<a class='accordion-toggle' data-toggle='collapse' data-parent='#accordion4' href='#collapse41'>";

    echo "<td>{$row['name']} <br /> </td>";

echo "</a>";
echo "</div>";
echo "<div id='collapse41' class='accordion-body collapse'>";
echo "<div class='accordion-inner'>";

    echo "<td>Rank: {$rank} <br /> </td>";
    echo "<td>Wins: {$row['wins']} <br /> </td>";
    echo "<td>Losses: {$row['losses']} <br /> </td>";

echo "</div>";
echo "</div>";
echo "</div>";

            $rank++;        
        }
    }
    ?>
</div>
4

1 に答える 1