【问题标题】:Returning 2 tables after a $http.post query in AngularJS在 AngularJS 中的 $http.post 查询后返回 2 个表
【发布时间】:2016-04-05 12:16:00
【问题描述】:

我觉得这是一个非常简单的问题,但我不确定语法。 我在我的 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' "

【问题讨论】:

  • 你需要做一个 SQL 查询,两个查询的 php 复杂组合,或者新的两个做两个 $http 的角度。确切的问题是?,我无法理解它
  • 如果我在 php 文件中发出 2 个 SQL 请求,$http.post 查询将以某种方式返回 2 个表。如何访问我的 javascript 文件中的 2 表?我应该写grantTable = data.table1; 或类似的东西...?
  • 你需要从php创建一个对象,包含SQL的第一张和第二张表

标签: javascript php mysql angularjs


【解决方案1】:

基本思想是运行类似的东西

"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"]);
    } 
}

【讨论】:

  • 谢谢! array_push($outp,$rs... 应该是什么样的?
  • 我没有办法测试它,但我认为这样的东西会满足你的需要 array_push($outp,array("grantAmount" => $rs["grantAmount"], "grantYear " => $rs["grantYear"]));因为 JS 代码需要一个具有相应索引的数组。
猜你喜欢
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 2016-04-06
  • 2017-01-18
  • 1970-01-01
相关资源
最近更新 更多