Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
Javascript 从PHP读取变量并使用js执行select查询_Javascript_Php_Ajax_Mysqli - Fatal编程技术网

Javascript 从PHP读取变量并使用js执行select查询

Javascript 从PHP读取变量并使用js执行select查询,javascript,php,ajax,mysqli,Javascript,Php,Ajax,Mysqli,我有一个小项目,我正在尝试使用ajax将变量添加到我的js文件中 这是我的js文件: function get_sites() { $.ajax({ method: "POST", url: "server/newEmptyPHP1.php", dataType: "json", data: {type: "tasks"}, success: function (data) { } }); } 这是我的PHP文件: if (isset($_PO

我有一个小项目,我正在尝试使用ajax将变量添加到我的js文件中

这是我的js文件:

function get_sites() {
$.ajax({
    method: "POST",
    url: "server/newEmptyPHP1.php",
    dataType: "json",
    data: {type: "tasks"},
    success: function (data) {

    }
});
}
这是我的PHP文件:

if (isset($_POST["type"])) {
    $type = $type = $_POST["type"];

    $returned_value = ""; //default value

    switch ($type) {
        case "tasks":
            $returned_value = display_tasks($conn);
            break;
    }
    $conn->close();
    echo $returned_value;
}

function display_tasks($conn) {
    $query = "SELECT * FROM `Site`;";
    $result = mysqli_query($conn, $query);
    $html = "";
    $final_result = array();
    if ($result) {
        $row_count = mysqli_num_rows($result);

        for ($i = 0; $i < $row_count; ++$i) {

            $row = mysqli_fetch_array($result);


            $task = array("id" => $row["ID"], "av" => $row["availability"], "lng" => $row["lng"], "lat" => $row["lat"]);

            $final_result["Site"][] = $task;
        }
    }
    print_r(json_encode($final_result));

    return json_encode($final_result);
}

如您所见,这是我从该PHP文件中获取的数组,但我无法很好地处理它,因此如何从前面的数组中获取js文件中的变量?

您可以尝试JSON解码。或者,为了获得响应数据,您必须执行以下操作:

...
success: function (data) {
    jQuery.each(data, function () {
        console.log(this);
        jQuery.each(this, function () {
            console.log("av=" + this.av + " --> id=" + this.id + " --> lat=" + this.lat + " --> lng=" + this.lng);
        });
    });
}
...

一种使用直接引用的方法

JavaScript不强制要求解码json数据,因为它可以使用直接对象引用访问
json
数据

var data = {"Site":[{"id":"1","av":"1","lng":"16.963777","lat":"42.548664"},{"id":"2","av":"0","lng":"16.96376","lat":"42.548685"}]};


console.log(data.Site);
console.log(data.Site[0]);
console.log(data.Site[1]);

console.log(data.Site[0].id);
console.log(data.Site[0].av);
console.log(data.Site[0].lng);
console.log(data.Site[0].lat);

var data = data.Site; // you can avoid use capitals as in your output `Site`

for ( var i = 0 ; i < data.length ; i++){

    var d = data[i];

    console.log('--------------------------');
    console.log(d);
    console.log(d.id);
    console.log(d.av);
    console.log(d.lng);
    console.log(d.lat);

}
var数据={“Site”:[{“id”:“1”,“av”:“1”,“lng”:“16.963777”,“lat”:“42.548664”},{“id”:“2”,“av”:“0”,“lng”:“16.96376”,“lat”:“42.548685”};
console.log(data.Site);
console.log(data.Site[0]);
console.log(data.Site[1]);
console.log(data.Site[0].id);
console.log(data.Site[0].av);
console.log(data.Site[0].lng);
console.log(data.Site[0].lat);
var data=data.Site;//您可以避免在输出站点中使用大写字母`
对于(变量i=0;i
在没有jQuery的情况下也支持它


您使用的是
json
编码数据。使用前请先解码。非常感谢,终于可以使用了:')
var data = {"Site":[{"id":"1","av":"1","lng":"16.963777","lat":"42.548664"},{"id":"2","av":"0","lng":"16.96376","lat":"42.548685"}]};


console.log(data.Site);
console.log(data.Site[0]);
console.log(data.Site[1]);

console.log(data.Site[0].id);
console.log(data.Site[0].av);
console.log(data.Site[0].lng);
console.log(data.Site[0].lat);

var data = data.Site; // you can avoid use capitals as in your output `Site`

for ( var i = 0 ; i < data.length ; i++){

    var d = data[i];

    console.log('--------------------------');
    console.log(d);
    console.log(d.id);
    console.log(d.av);
    console.log(d.lng);
    console.log(d.lat);

}