这里的第一个问题是堆栈,对于php也是非常新的,你可以从下面的代码中看出来。我想要做的是将数据库中的信息填充到页面上。它以表格形式显示,用户可以通过一个或多个过滤器搜索特定记录。我喜欢做的是让'age'过滤器根据年龄显示具有不同颜色背景的记录。它将适用于一个,因为它将显示所有年龄小于22并具有橙色背景的用户。喜欢它做什么(我认为这是我不理解语法的部分)是显示所有年龄小于19且红色背景的记录和所有年龄小于22且橙色的记录背景。
我试图在下面的代码中说明,如果'age'的行记录小于22,则为表格行提供ffab0a的背景颜色,如果小于19,则为表格行提供背景颜色ffff99 ,其他任何东西,没有背景颜色。
任何人都可以帮我指出正确的方向吗?以下是控制此感谢的部分!
if ($row["age"]<22)
echo '<tr style="background-color:#ffab0a">';
else if ($row["age"]<19)
echo '<tr style="background-color:#ffff99">';
else
echo '<tr>'; ?>
<td><?php echo $row["age"]; ?></td>
<td><?php echo $row["location"]; ?></td>
<td><?php echo $row["form"]; ?></td>
答案 0 :(得分:1)
你的问题是,你的工作顺序错误。你必须首先检查一下,如果这个人不满19岁,那么,如果他/她不满22岁。否则18岁的人也将被涂成橙色,因为当然18岁小于22岁。
<?
if ($row["age"]<19)
echo '<tr style="background-color:#ffff99">';
else if ($row["age"]<22)
echo '<tr style="background-color:#ffab0a">';
else
echo '<tr>';
?>
<td><?php echo $row["age"]; ?></td>
<td><?php echo $row["location"]; ?></td>
<td><?php echo $row["form"]; ?></td>
答案 1 :(得分:0)
创建一个将年龄转换为颜色的函数。
<?php
function age_style($age) {
if ($age < 19) return 'background-color:#ffff99';
if ($age < 22) return 'background-color:#ffab0a';
return '';
}
?>
然后你的表格渲染可以更清洁一点:
<tr style="<?=age_style($row['age'])?>">
<td><?= $row["age"]; ?></td>
<td><?= $row["location"]; ?></td>
<td><?= $row["form"]; ?></td>
</tr>
看起来不那么好吗?它为您提供了一个位置,可以在您将来需要时轻松更新样式。
答案 2 :(得分:0)
我会稍微接近它......
<?php
if ($row['age'] < 22) { $style = 'background-color: #ffab0a'; }
if ($row['age'] < 19) { $style = 'background-color: #ffff99'; }
?>
<tr style="<?php echo $style; ?>">
<td><?php echo $row['age']; ?></td>
<td><?php echo $row['location']; ?></td>
<td><?php echo $row['form']; ?></td?
</tr>
这样,如果您发现将来需要对标记进行更改,或者您想要添加不同的条件,则无需修改一堆<tr>
标记。