从列值不为 null 的数据库中获取列名 - php


Get Column names from database where columns values is not null - php

我有列名

ID, 姓名, 类型, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月,

10月, 11月, 12月

我想提取从 1 月到 12 月的所有非空列名

Jan Feb Mar
10  10  Null
10  10  Null

所以我的输出只是 1 月和 2 月

我同意Keo的观点,因为它使得在没有进一步PHP处理的情况下限制你提取的结果变得更加困难(也许是不可能的)。 话虽如此,这里有一种方法可以使用两个 foreach 循环来实现它。

// change events to your table name and $dbh to database handle
$fields=array("id","name","type");
foreach($dbh->query('SELECT * from events') as $row) {
    foreach($row as $key=>$value){
        if($value!=""&&$value!=null&&strtolower($value)!="null"&&!in_array($key,$fields)&&strlen($key)>2)
            $fields[]=$key;
    }
}
print_r$fields);