我想以'Word-like'表格格式形成我的PHP/MySQL輸出:一行是背景顏色X,接下來是bg顏色Y,然後X再次,然後是Y等在PHP/SQL輸出中更改不同DIV的背景顏色
要做到這一點,我已經想出了一個解決方案,但我猜這不是真正的最好或最乾淨的方式來做到這一點。看看我的解決方案。我期待着您的想法/意見!
$selectdoc = "SELECT * FROM document WHERE docid = '" . $_GET['docid'] . "' LIMIT 10";
$queryselectdoc = mysql_query($selectdoc);
$colorindicator = 1;
while($dbdoc = mysql_fetch_object($queryselectdoc)) {
$title = "$dbdoc->title";
$colorindicator = $colorindicator+1;
if ($i&1)
{
echo "<div id=\"even\">My BG color is the one based on EVEN!</div>";
}
else
{
echo "<div id=\"odd\">My BG color is the one based on ODD!</div>";
}
}
您正在使用HTML標識來表示將會出現的事件,而不是其中的一種。這違背了HTML規範,他們聲明只能使用給定的ID一次。幸運的是,解決方案很簡單,只需使用class。您可能對http://dev.opera.com/articles/view/zebra-striping-tables-with-css3/感興趣,它描述瞭如何使用純CSS進行斑馬條紋處理。另外,你可以縮寫$ colorindicator = $ colorindicator + 1到$ colorindicator ++ – GordonM 2011-03-07 11:30:50
記住,nth-child在IE8和更早的版本上不起作用。它只在IE9中引入,所以如果你想讓它在其他版本的IE中工作,你需要實現與上面類似的JavaScript。 – anothershrubery 2011-03-07 11:39:12
只在Chrome/FF中嘗試過,但是這有點殺死了整個事情。謝謝@anothershrubery – 2011-03-07 11:45:03