我正在寻找使用PHP函数替换行颜色。这就是我所拥有的(尽管它不起作用):
function row($year) {
if($year%2)
$color == "#FFF";
else
$color == "#000";
}
for ($year=2013; $year<=2023; $year++)
{
row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
基本上,如果一年是奇数,我希望该行的颜色为白色。如果均匀,黑色。
答案 0 :(得分:11)
为什么不将CSS与nth-child
选择器一起使用?
tr:nth-child( 2n ) {
background-color: #000;
}
tr:nth-child( 2n + 1 ) {
background-color: #FFF;
}
然后<tr>
元素不需要进一步的属性。
除了IE之外,大多数浏览器都支持此功能。请参阅Browser compatibility of MDN。
答案 1 :(得分:3)
15.1.1背景颜色 -
bgcolor
属性已被弃用,有利于样式表以指定背景颜色信息。
现在你应该做什么
function row($year) {
return ($year % 2 == 0) ? "#FFFFFF" : "#000000";
}
for ($year = 2013; $year <= 2023; $year++) {
echo "<tr style='background-color:".row($year).";'><td>$year</td><td>$tdate</td></tr>";
}
然而,看起来你似乎并不知道==
它的等于运算符是什么不是赋值运算符
赋值操作符的作用是将右侧值分配给左手,例如
$a == $b Equal TRUE if $a is equal to $b after type juggling.
第二,你还有变量的范围
scope of a variable是定义它的上下文。在大多数情况下,所有PHP变量只有一个范围。此单一范围也涵盖包含和所需文件。
上面的引用了php手册来阅读更多check this
答案 2 :(得分:1)
function row($year) {
$color = '';
if($year%2)
$color = "#FFF";
else
$color = "#000";
return $color;
}
for ($year=2013; $year<=2023; $year++)
{
$color = row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
答案 3 :(得分:1)
for ($year=2013; $year<=2023; $year++)
{
echo "<tr bgcolor='".$year%2==0?"#fff":"#000"."'><td>$year</td><td>$tdate</td></tr>";
}
答案 4 :(得分:0)
您无法在任何地方保存您的功能结果。试试这个:
function row($year) {
if($year%2)
$color == "#FFF";
else
$color == "#000";
}
for ($year=2013; $year<=2023; $year++)
{
$color = row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
这是关于可变范围的。
答案 5 :(得分:0)
你没有从函数中返回任何东西,这样做
function row($year) {
if($year%2)
$color == "#FFF";
else
$color == "#000";
return $color;
}
for ($year=2013; $year<=2023; $year++)
{
$color = row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
答案 6 :(得分:0)
就像其他编程语言一样,您必须知道何时使用局部变量和全局变量。在这种情况下,您尝试在一个本地另一个函数中使用变量。
function row($year) {
if($year%2 == 1)
return "#FFF";
else
return "#000";
}
for ($year=2013; $year<=2023; $year++)
{
echo "<tr bgcolor='".row($year)."'><td>$year</td><td>$tdate</td></tr>";
}
答案 7 :(得分:0)
<?php
$host=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$dbname=""; // Database name
$tblname=""; // Table name
// Connect to server and select databse
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$dbname")or die("cannot select DB");
$sql="SELECT * FROM $tblname";
$result=mysql_query($sql);
// Define $color=1
$color="1";
echo '<h3 align = "center">Employee Details <hr /></h3>';
echo '<table width="400" border="1" align="center" cellpadding="2" cellspacing="0">';
while($rows=mysql_fetch_row($result)){
// If $color==1 table row color = #FFCCFF
if($color == 1){
echo "<tr bgcolor='#FFCCFF'><td>$rows[0]</td><td>$rows[1]</td><td>$rows[2]</td><td>$rows[3]</td></tr>";
// Set $color==2, for switching to other color
$color="2";
}
// When $color not equal 1, table row color = #FFC600
else {
echo "<tr bgcolor='#FFC600'><td>$rows[0]</td><td>$rows[1]</td><td>$rows[2]</td><td>$rows[3]</td></tr>";
// Set $color back to 1
$color="1";
}
}
echo '</table>';
mysql_close();
?>
在上面的编码中,首先我们从数据库中选择数据然后我们定义一个变量$ color,其值为1. after while循环后添加if条件。如果$ color = 1则表格行颜色为# FFCCFF和在if条件内我们设置$ color == 2换成其他颜色。现在当$ color不等于1然后表行颜色=#FFC600而其他条件执行。在else条件下我们再次设置$ color回到1。