假设我的代码如下:
while ($info = mysql_fetch_assoc($data_p)) {
$name = stripslashes($info['name']);
$desc = stripslashes($info['description']);
$desc = substr($desc, 0, 150);
$price = stripslashes($info['price']);
Print "<div style=\"width:600px; height:150px; border:1px solid black; overflow:hidden\"><div style=\"height:148px; width:25%; border:1px solid red; float:left\"><center><img src=\"".$picture."\" height=\"120\" width=\"120\" style=\"margin-top:15px\" /></center></div><div style=\"height:150px; width:50%; border:1px solid blue; float:left; text-overflow: ellipsis; padding-top:5px\"><center><font size=\"+1\"><b><a href=\"result.php?product=".urlencode($name)."\">".$name."</b></a></font><br><br>".$desc."...</center></div><div style=\"height:150px; width:24%; border:1px solid green; float:left\"><center><h1>$".$price."</h1><button>Add to Cart</button></center></div></div>";
首先在while循环中定义的主DIV我想要交替使用两种灰度。因此,在结果中它看起来像浅黑暗的光暗等...我尝试用不同的颜色再次重复回声,但这会使每个结果重复。有没有办法做到这一点?
答案 0 :(得分:1)
$c = 1;
while ($info = mysql_fetch_assoc($data_p)) {
$name = stripslashes($info['name']);
$desc = stripslashes($info['description']);
$desc = substr($desc, 0, 150);
$price = stripslashes($info['price']);
Print "<div style=\"background:" . ($c ? '#ccc' : '#aaa') . "width:600px; height:150px; border:1px solid black; overflow:hidden\"><div style=\"height:148px; width:25%; border:1px solid red; float:left\"><center><img src=\"".$picture."\" height=\"120\" width=\"120\" style=\"margin-top:15px\" /></center></div><div style=\"height:150px; width:50%; border:1px solid blue; float:left; text-overflow: ellipsis; padding-top:5px\"><center><font size=\"+1\"><b><a href=\"result.php?product=".urlencode($name)."\">".$name."</b></a></font><br><br>".$desc."...</center></div><div style=\"height:150px; width:24%; border:1px solid green; float:left\"><center><h1>$".$price."</h1><button>Add to Cart</button></center></div></div>";
$c = 1 - $c;
答案 1 :(得分:1)
如果你想保持你的设计和逻辑分离,你也可以用css来做:
div:nth-child(odd) {
background:#c0c0c0;
}
div:nth-child(even) {
background:#a0a0a0;
}
答案 2 :(得分:1)
你可以计算DIV的数量并改变奇数和偶数的颜色。
$num = 0;
while ($info = mysql_fetch_assoc($data_p)) {
$num++;
$color = ($num % 2) ? '#ccc;' : '#aaa';
//***insert your relevant variables
}