Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用AngularJS操作JSON数据_Php_Mysql_Angularjs_Json_Api - Fatal编程技术网

Php 使用AngularJS操作JSON数据

Php 使用AngularJS操作JSON数据,php,mysql,angularjs,json,api,Php,Mysql,Angularjs,Json,Api,祝你一切顺利 我有一个使用php制作的API,可以从SQL中获取并将其转换为JSON,这很好。我唯一的问题是,我无法操纵这个php来获取我想要的JSON。我相信解决方案只是在我的api.php的$outp中的一个位置。。我在SQL中把id作为主id,我可以用它作为索引来显示JSON吗 谢谢,任何努力都会得到回报 以下是JSON的输出: { talents: [ { id: "1", tag: "001", name: "Jasmina", images: "assets/images/Jasmi

祝你一切顺利

我有一个使用php制作的API,可以从SQL中获取并将其转换为JSON,这很好。我唯一的问题是,我无法操纵这个php来获取我想要的JSON。我相信解决方案只是在我的api.php的$outp中的一个位置。。我在SQL中把id作为主id,我可以用它作为索引来显示JSON吗

谢谢,任何努力都会得到回报

以下是JSON的输出:

{
talents: [
{
id: "1",
tag: "001",
name: "Jasmina",
images: "assets/images/Jasmina3.jpg",
images02: "assets/images/Jasmina4.jpg",
images03: "assets/images/Jasmina7.jpg",
skills: "Usher",
skills02: "Modeling",
indexing: "usher"
},
{
id: "2",
tag: "002",
name: "Bruna",
images: "assets/images/BrunaD17.jpg",
images02: "assets/images/BrunaD18.jpg",
images03: "assets/images/BrunaD10.jpg",
skills: "Usher",
skills02: "Modeling",
indexing: "usher"
}
]
}
以下是我预期的结果:

{
talents: [
1: {
tag: "001",
name: "Jasmina",
images: "assets/images/Jasmina3.jpg",
images02: "assets/images/Jasmina4.jpg",
images03: "assets/images/Jasmina7.jpg",
skills: "Usher",
skills02: "Modeling",
indexing: "usher"
},

2:{
tag: "002",
name: "Bruna",
images: "assets/images/BrunaD17.jpg",
images02: "assets/images/BrunaD18.jpg",
images03: "assets/images/BrunaD10.jpg",
skills: "Usher",
skills02: "Modeling",
indexing: "usher"
}
]
}
看一看我的API,请帮我玩一下$outp。去拿

<?php
//header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$conn = new mysqli("localhost", "root", "", "application");

$result = $conn->query("SELECT * FROM talents");

$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
    if ($outp != "") {$outp .= ",";}
    $outp .= '{"id":"'  . $rs["id"] . '",';
    $outp .= '"tag":"'  . $rs["tag"] . '",';
    $outp .= '"name":"'   . $rs["name"]        . '",';
    $outp .= '"images":"'. $rs["images"]     . '",';
    $outp .= '"images02":"'. $rs["images02"]     . '",';
    $outp .= '"images03":"'. $rs["images03"]     . '",';
    $outp .= '"skills":"'. $rs["skills"]     . '",';
    $outp .= '"skills02":"'. $rs["skills02"]     . '",';
    $outp .= '"indexing":"'. $rs["indexing"] . '"}';
}
$outp ='{"talents":['.$outp.']}';
$conn->close();

echo($outp);
?>

不要尝试自己构建json,而是使用本机。它解决了JSON存在的所有边缘情况

您只需准备一个关联数组,就可以一个字段一个字段地指定(就像我在示例中所做的那样,建议这样做,因为这样可以指定要发送给用户的确切字段,从而防止敏感数据泄露),或者只需
$outp[$rs[“id”]]=$rs

<?php
header("Content-Type: application/json; charset=UTF-8");

$conn = new mysqli("localhost", "root", "", "application");

$result = $conn->query("SELECT * FROM talents");

$outp = array();
while ($rs = $result->fetch_array(MYSQLI_ASSOC)) {
    $outp[$rs["id"]] = array(
        "tag" => $rs["tag"],
        "name" => $rs["name"],
        "images" => $rs["images"],
        "images02" => $rs["images02"],
        "images03" => $rs["images02"],
        "skills" => $rs["skills"],
        "skills02" => $rs["skills02"],
        "indexing" => $rs["indexing"]
    );
}
$outp["talents"] = array($outp);
$conn->close();

echo (json_encode($outp));
?>

像魔咒一样工作。谢谢你,伙计