Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为显示的每个MYSQL行添加不同的样式_Php_Mysql_Row - Fatal编程技术网

Php 为显示的每个MYSQL行添加不同的样式

Php 为显示的每个MYSQL行添加不同的样式,php,mysql,row,Php,Mysql,Row,我需要为mysql显示的每一行添加不同的样式。我显示的是最后4行,从第一行开始,样式应该称为第一、第二、第三、第四 <?php $sql = "SELECT * FROM articles ORDER BY id DESC LIMIT 4"; $result = $con->query($sql); if ($result->num_rows > 0) { while($row = $result-

我需要为mysql显示的每一行添加不同的样式。我显示的是最后4行,从第一行开始,样式应该称为第一、第二、第三、第四

<?php
        $sql = "SELECT * FROM articles ORDER BY id DESC LIMIT 4";
        $result = $con->query($sql);

        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo '
                    <div class="ot-slider-layer first">
                        <a href="articles/'.$row['slug'].'">
                            <strong><i style="background-color: #ed2d00; color: #fff;">'.category_name_by_id($row['category']).'</i>'.$row['title'].'</strong>
                            <img src="images/articles/'.$row['image'].'" alt="'.$row['title'].'" />
                        </a>
                    </div>
                ';
            }
        } else {
            echo "There is no news";
        }
    ?>

这将在这种情况下起作用:


您应该为此使用CSS。查看:n子选择器。

这可以在CSS中轻松完成,无需服务器端计算。您的问题不清楚您是希望每4行交替设置样式,还是仅设置最后4行的样式。但这两种方法都可以通过CSS实现:

交替:使用

div.ot-slider-layer:nth-child4n+1{背景:00ffff50;} div.ot-slider-layer:nth-child4n+2{背景:0000ff50;} div.ot-slider-layer:nth-child4n+3{背景:00000050;} div.ot-slider-layer:nth-child4n+4{背景:ff000050;}
在while循环中添加一个递增的计数器,并相应地设置类或其他内容。或者,您可以将@row_number:=@row_number+1作为num添加到SELECT语句中,并使用该语句确定样式类/id/无论什么。感谢您分享此内容,但尝试后,它仅在每一行上显示第一个数组值,而不是另一行,SOK已修复$i=0;应该在循环之外你确定你准确地复制了它吗?尤其是+++$i;while循环结束时的内部部分-这就是为什么$i从0变为1到2,以此类推,以便数组键正确。我只是在我的环境中尝试了一个版本,它像预期的那样打印出来,正如我上面提到的,当我移动$I=0时,它工作了;在while循环之外