使用多维数组显示表中数据库的数据,基于状态

时间:2016-03-14 16:44:01

标签: php html mysql arrays multidimensional-array

我正在从数据库中的数据构建状态表。现在,我获取数据并按如下方式存储:

$array = array();

while ($row = mysqli_fetch_assoc($q2r)) {
 $array[] = $row;

}

之后,我想根据我检索的状态创建一个表并将单元格绘制为绿色或红色。为此,我使用了foreach:

foreach ($array as $key => $value) {
    if(is_array($value)){
        foreach ($value as $slot => $value) {

            if(is_int($slot)){
                echo "<tr>";
                echo "is int slot";

                if( $value == 1){
                    echo "<td style=\"background-color:#00FF00\">".PHP_EOL;
                }else{
                    echo "<td style=\"background-color:#FF0000\">".PHP_EOL;
                }

                echo 750+50*$slot ."</td></tr>".PHP_EOL;
            }
        }
        echo "<br/>";
    }

}

现在,由于我从当前的测试查询中检索了2行,因此该代码创建了2个sepparate表。我想要实现的是单个表,如果该单元格的值为1,则显示绿色单元格,如果该单元格的值不为1,则显示红色。

例如,如果对于1号单元格,则检索&#34; 1&#34;在一个数组和&#34; 0&#34;在另一方面,我希望它将细胞涂成绿色。

感谢您的帮助,您可以给我!干杯!

编辑:数组输出上的vardump:

[0]=>
array(7) {
  ["date"]=>
string(10) "2016-03-11"
[1]=>
string(1) "0"
[2]=>
string(1) "1"
[3]=>
string(1) "1"
[4]=>
string(1) "0"
["doc_id"]=>
string(1) "0"
["day_id"]=>
string(1) "1"
 }
 [1]=>
 array(7) {
["date"]=>
string(10) "2016-03-11"
[1]=>
string(1) "1"
[2]=>
string(1) "0"
[3]=>
string(1) "1"
[4]=>
string(1) "0"
["doc_id"]=>
string(1) "1"
  ["day_id"]=>
  string(1) "2"
 }
  }

0 个答案:

没有答案