2013-06-18 43 views
0

所以我試圖讓引導手風琴動態顯示前5支球隊由最勝判斷,我也將其用於其他排名。PHP自舉手風琴 - 如何顯示動態數據?

的問題是每當我點擊選項卡2,3,或4只在手風琴打開選項卡1。我知道問題來自「href ='#collapse41'」每個循環都是相同的。我認爲這將需要每個手風琴div選項卡的唯一ID,但我不知道如何正確實施它。我可能100%錯了,如果有的話,請糾正我!

我已經做了這個約15搜索,只找到一個答案,這是不是很詳細或有幫助。任何幫助或指導學習如何做到這一點將不勝感激。

(我把它改名爲#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> 

回答

0

你必須打破循環起來....和循環一次得到的標題,並兩次獲得身體...

所以,你需要呼應組DIV第一....

echo "<div class='accordion-group'>"; 

ŧ母雞開始循環輸出標題... 然後運行另一個迴路輸出的div ....

if (mysql_num_rows($result)) { 
    //LOOP 1 
    while ($row = mysql_fetch_assoc($result)) { 

    //Build heading pieces 
    echo "<div class='accordion-heading'>"; 
    echo "<a class='accordion-toggle' data-toggle='collapse' data-parent='#accordion-".$row['id']." href='#accordian-".$row['id']."'>"; 

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

echo "</a>"; 
echo "</div>";} 

//LOOP 2 
//Build inner pieces 
while ($row = mysql_fetch_assoc($result)) { 

echo "<div id='accordian-".$row['id']."' 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++;   
    } 
} 

我不是實際上太相信你的手風琴是如何被構建的,因此這可能會或可能不會正確的信息,但是無論什麼時候我都會做手風琴,這就是我的做法。如果你可以發佈您的預期HTML輸出(模板手風琴),這會對我幫助很大,我可以修補我的答案,以滿足你的實際需要

+0

嗨,感謝您的答覆。我發現了一些拼寫錯誤並糾正了它們。錯別字是不是「手風琴」,並在第6行缺少的單引號「手風琴」,如果我沒有記錯。我只能看到選項卡,每當我點擊選項卡時,它實際上並不顯示內容。另外我不希望手風琴有特定的結構,只是普通的自舉手風琴很好。謝謝 –

+0

謝謝:) ....我的答案有一點道理?仍然不確定你的HTML結構...所以不知道它是否是正確的方式...但你肯定需要有2個循環,我知道,因爲多數民衆贊成我如何總是做我的標籤 – KyleK

+0

你也注意到,我給了標籤和內容的唯一ID基於$行['ID'] ....父母可能會不同,只是玩 – KyleK