我从mysql数据库获取员工数据到数组并显示在表中。 一切正常,但我想在数组中应用条件
如果工资大于30,000,则将其颜色更改为红色。
试过
$q = "select name, salary from array";
$res = mysqli_query($link, $q);
$arr = array();
while ($data = mysqli_fetch_assoc($res)) {
$arr[] = $data;
}
echo '<table class="table table-hover">
<th>Name</th><th>Salary</th>';
$keys = array_keys($arr);
foreach ($keys as $key => $value) {
echo "$value , ";
}
for ($i=0; $i < count($arr); $i++) {
echo '<tr>';
foreach ($arr[$keys[$i]] as $key => $value) {
if ($arr[$keys[$i]['salary']] > 34000) {
echo "<td style='color: red; background-color:pink;'> $key=>$value </td>";
}else{
echo "<td> $key=>$value </td>";
}
}
echo "</tr>";
}
echo '</table>';
这就是我的表格外观
如果工资大于30,000,我想改变工资的颜色......
答案 0 :(得分:0)
更改
if ($arr[$keys[$i]['salary']] > 34000) {
到
if ($value > 30000) {
答案 1 :(得分:0)
我认为你在处理包含另一个数组的数组时有点丢失。一个简单的foreach循环是解决这个问题的最简单方法。
echo '<table class="table table-hover"><th>Name</th><th>Salary</th>';
foreach ($arr as $row) {
echo '<tr>';
// using a ternary operator here rather than an IF
$style = $row['salary'] > 30000
? ' style="color:red;background-color:pink;"'
: '';
echo "<td>{$row['name']}</td>";
echo "<td $style>{$row['salary']}</td>";
echo '</tr>';
}