怎么用PHP实现每5条数据换色 20

大概意思是:从数据库中调出数据后,每5条信息换一次色,比如有两种颜色,红与蓝,添加第1-5条数据时,显示蓝色;添加了第6-10条数据时,显示红色;再添加11-15条数据时... 大概意思是:从数据库中调出数据后,每5条信息换一次色,比如有两种颜色,红与蓝,添加第1-5条数据时,显示蓝色;添加了第6-10条数据时,显示红色;再添加11-15条数据时,显示蓝色。依次类推。需要说明的是:当每行不足5条数据时,补足五条,同时补足的信息条目颜色要一致。功能类似于牡丹江信息网或东京城信息网那种。请给出大概思路或代码,谢谢。 展开
 我来答
shen000love
2015-09-19 · TA获得超过394个赞
知道小有建树答主
回答量:520
采纳率:0%
帮助的人:268万
展开全部
<style type="text/css">
ul li{ list-style: none; width: 20%; float: left;}
.red{ color: #ff0000;}
.blue{ color: #0000ff;}
</style>
<div>
<ul>
<?php
$array = array('1', '1', '1', '1', '1', '2', '2', '2', '2', '2', '3');
foreach($array as $key=>$val){
$style = $key/5%2 == 0 ? 'class="red"' : 'class="blue"';
?>
<li <?php echo($style); ?>><?php echo($val); ?></li>
<?php
}
?>
</ul>
</div>

这种效果可以使用$key值来进行判断。

首先,用$key值去除以5获取到商,这个商可以理解为行数,即$key/5商为0的为第一行显示的元素,以此类推,

因为每两行换一个颜色,所以

再用获取到的商去求除以2的余数,

单行的时候给指定一个样式,双

行的时候给指定另一个样式就完成了

追问

你好,如果每行数据不足5条,比如上图,需要补三条数据,同时这补的三条数据颜色也是蓝色,该怎么弄呢?

追答

你可以直接将那三条数据赋值给需要输出的数组。如:上例

直接在循环输出前为数组$array赋值

$array[] = 4;
$array[] = 5;
$array[] = 6;

也可以提前对数组进行处理,使其元素个数满足输出要求,例如:大于5条小于10条只输出5条,大于10条小于15输出10条之类的

鳄鳄0_0
2015-09-19 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:359
采纳率:50%
帮助的人:49.8万
展开全部
就循环数据组,给每条数据增加颜色的字段,判断用以下方法:
$arr = array(...);
for($i=1; i<=sizeOf($arr);i++){
$color = 'blue';
if($i%5==0){
if($i%2==0){ $color = 'red'; }
else
{ $color = 'blue'; }
}
$arr['color']=$color ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aini158761028
2015-09-19 · TA获得超过376个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:158万
展开全部
你用key 摸10就可以了啊。foreach($arr as $key=>$value){if($key%10>=1&$key%10<=5){//把背景颜色设置成红色}else{//把背景颜色设置成蓝色}}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式