我试图在PHP中的以下代码中的替代行上应用颜色,但我已经在论坛中尝试了各种形状和示例,但它没有解决。我只需要留下一条白线,另一条灰色,根据mysql查询填写。我想在不使用CSS的情况下制作此列表。有人可以帮忙吗?
{{1}}
答案 0 :(得分:1)
我将展示使用%(或Mod)在简单数组上交替背景颜色的示例。
$arr = array("fred","tim","bob","jimmy");
echo "<table>";
$i=1;
foreach ($arr as $row) {
$class = ($i % 2) ? " odd": " even"; //even or odd?
echo "<tr class=" . $class . ">";
echo "<td>" . $row . "</td>";
echo "</tr>";
$i++;
}
echo "</table>"
?>
<style type="text/css">
.even, .odd {
color:white;
}
.even {
background-color: blue;
}
.odd {
background-color: red;
}
</style>
而且,如何在纯CSS中完成它。 (IE 9或更高版本:https://www.w3schools.com/cssref/sel_nth-child.asp)
$arr = array("fred","tim","bob","jimmy");
echo "<table>";
$i=1;
foreach ($arr as $row) {
echo "<tr>";
echo "<td>" . $row . "</td>";
echo "</tr>";
$i++;
}
echo "</table>"
?>
<style type="text/css">
.even, .odd {
color:white;
}
table tr:nth-child(even) {
background-color: blue;
}
table tr:nth-child(odd) {
background-color: red;
}
</style>
答案 1 :(得分:0)
我不认为很多人会再使用HTML attribut bgcolor,但你可以在TR标签中使用它bgcolor =&#34; #cccccc&#34;。或者您可以使用内联样式的背景色:#cccccc;
$highlight = false;
foreach ($os as $c)
{
$query = "SELECT nome from users where idUsers=$c->users_id";
$data= $this->db->query($query)->result();
$time_diff = strtotime($c->endTime) - strtotime($c->startTime);
$var= $time_diff/60;
$highlight = !$highlight;
echo '
<tr '.($highlight ? 'bgcolor="#cccccc"' : '').'>
<td >' . $c->nameclient . '</td>
<td >' . $data[0]->name . '</td>
<td >' . $c->status . '</td>
<td >' . date('d/m/Y', strtotime($c->startDate)) . '</td>
<td >' . $c->startTime . '</td>
<td >' . $c->endTime . '</td>
<td >'.date('H:i', mktime(0,$var)).'</td>
</tr>';
}