在AngularJS中的$ http.post查询之后返回2个表

时间:2016-04-05 12:16:00

标签: javascript php mysql angularjs

我觉得这是一个非常简单的问题,但我不确定语法。 我在我的javascript文件中执行$ http.post查询:

$http.post('server.php', {"data" : cleTexte, "serverFlag" : 2})
            .success(function(data, status) 
            {
                console.log(data);
                grantTable = data; 
            }

php文件在SQL查询后返回一个表:

$result = $conn->query("SELECT grantAmount FROM granttoassociation WHERE HEX(grantReceiver) = '$key' ");
while($rs = $result->fetch()) {
        if ($outp != "") {
            array_push($outp,$rs["grantAmount"]);
        }
}

$outp =json_encode($outp);
echo($outp);

而且,正如您所看到的,结果会受到javascript文件中的grantTable的影响。 它工作正常,但是,我想有两个表。第二个表将在php文件中的第二个SQL查询之后获得。 javascript文件中的最终结果应如下所示:

$http.post('server.php', {"data" : cleTexte, "serverFlag" : 2})
            .success(function(data, status) 
            {
                console.log(data);
                grantTable = data...
                grantYear = data...
            }

我应该这样做吗?

第二个SQL查询类似于:

"SELECT grantYear FROM granttoassociation WHERE HEX(grantReceiver) = '$key' "

1 个答案:

答案 0 :(得分:0)

基本思想是运行

之类的东西
"SELECT grantYear, grantAmount FROM granttoassociation WHERE HEX(grantReceiver) = 'yourkey' "

请注意SQL injection并使用PDO传递参数或mysqli_

在您的javascript中,您可以迭代数据并.push将相应列添加到要保留的对象

function(data, status)
{
    console.log(data);
    grantTable = [];
    grantYear = [];
    for (var index in data) {
        grantTable.push(data[index]["grantAmount"]);
        grantYear.push(data[index]["grantYear"]);
    } 
}