0

我正在尝试从我的 sql 查询中获取数据,但我得到了错误的数据所以任何人都可以告诉我如何正确地做到这一点。

这是我的代码

$result = mysql_query("select
       CONCAT_WS(',',
                 (case when Q1 is not null then 'Q1' else '' end),
                 (case when Q2 is not null then 'Q2' else '' end),
                 (case when Q3 is not null then 'Q3' else '' end),
                 (case when Q4 is not null then 'Q4' else '' end),
                 (case when Q5 is not null then 'Q5' else '' end),
                 (case when Q6 is not null then 'Q6' else '' end),
                 (case when Q7 is not null then 'Q7' else '' end),
                 (case when Q8 is not null then 'Q8' else '' end),
                 (case when Q9 is not null then 'Q9' else '' end)
                ) as NonNullColumns
from $day
where `user` = '$user'") or die(mysql_error());
//echo $result;

if (mysql_num_rows($result) > 1) {
    // looping through all results
    // products node
    $response["Q"] = array();

    while ($row = mysql_fetch_assoc($result)) {
        // temp user array
        $qnumber = array();
        $qns= array();
        $qnumber["Q".$i] = $row["$Q"];
            $i = $i + 1;
        // push single product into final response array
        array_push($response["Q"], $qnumber);
 }
}

我从我的 SQl 查询中得到以下输出

NonNullColumns
Q1,Q2,Q3,,,,,,
Q1,Q2,Q3,,,,,,
Q1,Q2,Q3,,,,,,
Q1,Q2,Q3,,,,,,
Q1,Q2,Q3,,,,,,
Q1,Q2,Q3,,,,,,

我需要从我的 SQl 查询输出中获取值 Q1、Q2、Q3 但我能够获取

{"Q":[{"Q":null},{"Q1":null},{"Q2":null},{"Q3":null},{"Q4":null},{"Q5":null}],"success":1} 

那么谁能告诉我如何获得以下输出

{"Q":[{Q1},{Q2},{Q3}],"success":1} 
4

1 回答 1

0

当您连接所有数据时,您只有一列。因此,不必引用$row["$Q"]您,而是explode(',', $row['NonNullColumns'])将非空字符串添加到数组中

于 2013-09-18T13:57:38.453 回答