将css应用于数组中的特定元素

时间:2017-01-30 14:26:17

标签: php css mysql arrays foreach

我从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>';

这就是我的表格外观

enter image description here

如果工资大于30,000,我想改变工资的颜色......

2 个答案:

答案 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>';
}