<table>
while ($row = mysql_fetch_assoc($result)) {
<tr>
<td>
echo $row['test'] . " " . ' ($' . $row['test2'] . ")<br>";
</td>
</tr>
}
</table>
如何制作背景色图案?例如,灰色,蓝色,灰色蓝色。
答案 0 :(得分:2)
有多种方法可以做到这一点。这是一个。
<table>
<?php $i = 0; ?>
<?php while ($row = mysql_fetch_assoc($result)): ?>
<tr<?php echo (++$i & 1 == 1) ? ' class="odd"' : '' ?>>
<td>
<?php echo $row['test'] . " " . ' ($' . $row['test2'] . ") ?><br>
</td>
</tr>
<?php endwhile; ?>
</table>
我建议给每一个第二行而不是奇数和偶数的CSS类(我在这里称它为“奇数”)。然后你就做了:
tr td { background: grey; }
tr.odd td { background: blue; }
CSS中的。
答案 1 :(得分:1)
如果是2色图案,请使用变量在蓝色和灰色之间切换。如果超过2种颜色,请使用旋转计数器
2种颜色
$blue = true;
<table>
while ($row = mysql_fetch_assoc($result)) {
<tr>
<td color="<?php echo $blue?'blue':'grey'; $blue ^= true; ?>">
echo $row['test'] . " " . ' ($' . $row['test2'] . ")<br>";
</td>
</tr>
}
</table>
超过2种颜色,一般解决方案:
$colourIndex = 0;
$colours = ('blue', 'red', 'green');
...
...
<td color="<?php echo $colours[$colourIndex]; $colourIndex = ($colourIndex+1)%length($colours); ?>">
答案 2 :(得分:1)
你需要像状态变量这样的东西,你存储的最后一行是蓝色或灰色。然后打印出另一种颜色并更新下一遍的状态变量。
这是一个例子:
<?php
echo '<table>';
$state = 1;
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
if( $state%2 == 0 )
echo '<td style="background-color:grey;">';
else
echo '<td style="background-color:blue;">';
echo $row['test'] . " " . ' ($' . $row['test2'] . ")<br>";
echo '</td></tr>';
$state++;
}
echo '</table>';
?>
答案 3 :(得分:0)
您也可以使用InfiniteIterator一次又一次地重复序列。这与“旋转计数器”一样,适用于任意数量的元素。
$props = new InfiniteIterator(
new ArrayIterator(array('a', 'b', 'c','d', 'e'))
); $props->rewind();
$l = rand(10, 20); // or whatever
for ($i=0; $i<$l; $i++) {
$p = $props->current(); $props->next();
echo 'class="', $p, '"... ';
}