2017-02-23 163 views
1

尋找堆棧溢出我發現alternating row color。 雖然這似乎在靜態表上工作,但我的結果是所有行都是粉紅色的。我不能讓它與引導上的PHP動態創建的工作表中:Bootstrap在動態創建的表格中交替排列顏色

$mdbFile = "\myAccessDatabase.mdb"; 
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFile", "", ""); 
$query = $pdo->prepare("SELECT * FROM Table"); 
$query->execute(); 

echo "<table class='table table-striped table-bordered table-hover table-condensed table-responsive'>";     
echo "<thead><tr>"; 
echo "<th>Last</th><th>First</th><th>XXX</th><th>YYY</th><th>ZZZ</th><th>WWW</th>"; 
echo "</tr></thead>"; 

for($i=0; $row = $query->fetch(); $i++){ 
    echo '<tbody><tr>'; 
    //echo "<th scope='row'>1</th>"; 
    echo "<td>".$row['LAST']."</td>"; 
    echo "<td>".$row['FIRST']."</td>"; 
    echo "<td>".$row['XXX']."</td>"; 
    echo "<td>".$row['YYY']."</td>"; 
    echo "<td>".$row['ZZZ']."</td>"; 
    echo "<td>".$row['WWW']."</td>"; 
} 
echo "</tr></tbody></table>"; 

unset($pdo); 
unset($query); 

CSS:

.table-striped>tbody>tr:nth-child(odd)>td, 
    .table-striped>tbody>tr:nth-child(odd)>th { 
     background-color: pink; 
    } 
+0

我希望更多的人花費盡可能多的時間來解決問題,因爲他們編輯問題的內容。儘管我同意語法和格式很重要,但即使格式正確,仍未解決的問題仍未解決。 – BarclayVision

回答

3

問題可能是你開tbody標籤是一個循環內。所以每一行都被視爲第一行。嘗試外面的:

echo '<tbody>'; 
for($i=0; $row = $query->fetch(); $i++){ 
    echo '<tr>'; 
    //echo "<th scope='row'>1</th>"; 
    echo "<td>".$row['LAST']."</td>"; 
    echo "<td>".$row['FIRST']."</td>"; 
    echo "<td>".$row['XXX']."</td>"; 
    echo "<td>".$row['YYY']."</td>"; 
    echo "<td>".$row['ZZZ']."</td>"; 
    echo "<td>".$row['WWW']."</td>"; 
    echo '</tr>'; 
    } 
    echo "</tbody></table>"; 
+0

謝謝你做的伎倆 - 沒有想到''重複。 – BarclayVision

+0

不要忘了你的'tr'標籤。開啓和關閉標籤都應位於循環內部或外部。我想你想要它裏面,所以移動你的關閉一個循環內。 – Armin

+0

明白了,再次感謝。 – BarclayVision

0

試試這個.table-striped>tbody>tr:nth-of-type(odd) { background-color: pink; }

+0

,給出了相同的結果...所有行相同的顏色 – BarclayVision