0

我写了一个简单的函数,它接受我的一个数据库表并输出一个完整的 JSON 数组。

function tableJSON ($table, $orderby) {
    $array = array();
    $sql = Nemesis::select("*", $table, NULL, $orderby);
    if ($sql) {
        if ($sql->num_rows > 0) {
            while ($row = $sql->fetch_assoc()) {
                // push row values to array
                array_push($array, $row);
            }
            return json_encode($array);
        } else {
            echo 'Query returned empty';
        }
    } else {
        echo 'Query error';
    }
}

使用此处概述的方法从该数组生成一个表。然后我将表格分类器应用于表格。我的问题是,目前,此脚本输出所有行和列。例子:

[{"id":"109225488","project_name":"One on One Interview the Dean of RSM","project_bold":"Interview","project_content":"Interview with the Dean of Erasmus University Rotterdam School of Management. Interviewer: Joost Kammermans.","project_image_1":"\/images\/uploads\/projects\/109225488\/m_109225488_1.jpg","project_image_2":"","project_image_3":"","project_image_4":"","youtube_link":"http:\/\/www.youtube.com\/watch?v=9rsR3FcLAxI","published":"1","created":"2013-05-29 14:07:49","created_by":"1","last_modified":"2013-07-22 19:43:15","last_modified_by":"1"}

如何从输出排除列的数组中排除此脚本?

例如:

$excluded = array('created_by', 'project_image_1');

我试过array_diff了,没有运气。

4

2 回答 2

2
$sql = Nemesis::select("*", $table, NULL, $orderby);

将 更改*为仅包含您想要输出的列的列表,您不必担心在后端处理数组。

于 2013-08-03T01:51:10.330 回答
0

我会建议 DevIshOne 的答案,但是......

function tableJSON ($table, $orderby, $excluded = array()) {
    $array = array();
    $sql = Nemesis::select("*", $table, NULL, $orderby);
    if ($sql) {
        if ($sql->num_rows > 0) {
            while ($row = $sql->fetch_assoc()) {
                $newrow = array();

                foreach($row as $col => $val)
                    if(!in_array($col, $excluded))
                        $newrow[$col] = $val;
                // push row values to array
                array_push($array, $newrow);
            }
            return json_encode($array);
        } else {
            echo 'Query returned empty';
        }
    } else {
        echo 'Query error';
    }
}
于 2013-08-03T03:50:21.633 回答