如何在php中为div循环提供3种不同的颜色

时间:2016-04-19 11:04:30

标签: php html css

尝试在php中为div的循环提供3种不同的颜色,现在只有两种颜色。我可以为div实现替代颜色。这就是我想要的。

enter image description here

风格

.redBackground { background-color:#F00; }
.blueBackground { background-color:#03F;}
.greenBackground { background-color:#6F3; }

php

        <?php
        $new= mysql_query("select * from tbl_news");
        while ($row=mysql_fetch_array($new))
        {

        $x++; 

        $class = ($x%2 == 0)? 'redBackground': 'blueBackground' ;


        echo "<tr class='$class'>";



        $id = $row['id'];

        $news = $row['news'];

        ?>
        <div class="col-md-2 col-sm-12 col-xs-12 news_main_div">


        <div class="md-trigger"  data-modal="modal-11">
        <div <?php echo "<tr class='$class'> ";?>>
        <h1 style=" margin-bottom:5px;">
        <strong ><?php echo $news ?></strong>
        </h1></div></div><?php } ?>

3 个答案:

答案 0 :(得分:4)

使用如下颜色数组

$color_array = array('whiteBackground', 'grayBackground', 'blueBackground');

$x=0;
while($row=mysql_fetch_array($new)){
    $x++;
    $class = $color_array[$x%3];
}

将来,如果你想要更多颜色,那么只需在数组中添加颜色类并在$color_arrar[$x%n]中进行更改,其中 n = number_of_color

如果您想要随机颜色,请使用以下代码

$color_arrar = array('whiteBackground ','grayBackground ','blueBackground ');
$size_of_array = sizeof($color_arrar);
while($row=mysql_fetch_array($new)){
    $n = rand(0,$size_of_array-1);
    $class = $color_arrar[$n%3];
}

答案 1 :(得分:1)

请试试这个

if($x%3 == 0)
  $class = 'greenBackground';
else if($x%2 == 0 )
   $class = 'redBackground'; 
else
   $class = 'blueBackground'; 

答案 2 :(得分:1)

如果您需要随机顺序,可以使用array_rand功能

$color = array("redBackground", "blueBackground", "greenBackground");
$colorValue = array_rand($color, 1);

$class = $color [$colorValue];