Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 将数据从SQL加载到制表器_Javascript_Php_Ajax_Tabulator - Fatal编程技术网

Javascript 将数据从SQL加载到制表器

Javascript 将数据从SQL加载到制表器,javascript,php,ajax,tabulator,Javascript,Php,Ajax,Tabulator,我想将SQL表中的数据加载到制表器中,但我总是收到AJAX错误:“parserror”,它是由我的AJAX代码创建的:“console.log('my message:'+err) 有人能帮我找出这个错误的来源和解决方法吗 你可以在下面找到我用过的代码 我的表格定义如下: var table = new Tabulator("#example-table", { height:"311px", layout:"fitColumns", columns:[

我想将SQL表中的数据加载到制表器中,但我总是收到AJAX错误:
“parserror”
,它是由我的AJAX代码创建的:
“console.log('my message:'+err)

有人能帮我找出这个错误的来源和解决方法吗

你可以在下面找到我用过的代码

我的表格定义如下:

var table = new Tabulator("#example-table", {

    height:"311px",
    layout:"fitColumns",
    columns:[
        {title:"Date", field:"Date", align:"center", sorter:"date", widthGrow:2},
        {title:"Country", field:"Country"},
        {title:"Onlineshop", field:"Onlineshop"},
        {title:"Preis in € excl. MwSt.", field:"Onlineprice_euro", align:"right", sorter:"number"},
        {title:"Onlineshop_URL", field:"Shop_url", widthGrow:2},

    ], 
});
<?php

    $servername = "####";
    $username = "####";
    $password = "####";
    $dbname = "####";

    $con=mysqli_connect($servername, $username, $password, $dbname);
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    $sql = "SELECT Country,Onlineshop,Shop_url,Date,Onlineprice_euro FROM onlineprices WHERE EAN = '" . $_POST["ean"]. "'";

    $result = $query_id = mysqli_query($con, $sql);

    foreach($result as $row)
    {

        $data[] = array(
            'Date' => $row["Date"],
            'Country' => $row["Country"],
            'Onlineshop' => $row["Onlineshop"],
            'Onlineprice_euro' => $row["Onlineprice_euro"],
            'Shop_url' => $row["Shop_url"]
        );

    };

    echo json_encode($data,JSON_UNESCAPED_UNICODE);
?>
我使用以下ajax请求加载数据:

$.ajax({
    url:"fetch_onlinepricetable.php",
    method:"POST",
    data:{ean:ean},
    dataType:"JSON",
    success:function(data)
    {                          
        table.setData(data);                           
    },
    error: function(req, err){ console.log('my message: ' + err);}
}); 
用于加载数据的PHP函数如下所示:

var table = new Tabulator("#example-table", {

    height:"311px",
    layout:"fitColumns",
    columns:[
        {title:"Date", field:"Date", align:"center", sorter:"date", widthGrow:2},
        {title:"Country", field:"Country"},
        {title:"Onlineshop", field:"Onlineshop"},
        {title:"Preis in € excl. MwSt.", field:"Onlineprice_euro", align:"right", sorter:"number"},
        {title:"Onlineshop_URL", field:"Shop_url", widthGrow:2},

    ], 
});
<?php

    $servername = "####";
    $username = "####";
    $password = "####";
    $dbname = "####";

    $con=mysqli_connect($servername, $username, $password, $dbname);
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    $sql = "SELECT Country,Onlineshop,Shop_url,Date,Onlineprice_euro FROM onlineprices WHERE EAN = '" . $_POST["ean"]. "'";

    $result = $query_id = mysqli_query($con, $sql);

    foreach($result as $row)
    {

        $data[] = array(
            'Date' => $row["Date"],
            'Country' => $row["Country"],
            'Onlineshop' => $row["Onlineshop"],
            'Onlineprice_euro' => $row["Onlineprice_euro"],
            'Shop_url' => $row["Shop_url"]
        );

    };

    echo json_encode($data,JSON_UNESCAPED_UNICODE);
?>

根据您评论部分的屏幕截图。

您正在接收的是对象而不是数组。。。要将其转换为对象数组

在php中更改行

echo json\u encode($data,json\u UNESCAPED\u UNICODE)


echo“[”.json_encode($data,json_UNESCAPED_UNICODE)。”]

能否在网络选项卡中显示ajax请求的响应?我希望这就是您的意思:。(我把图像上传到我的dropbox)是的。。但图片只显示标题。。。我需要回复文本。。。。转到
antwort
tab请在所附图像中找到响应文本。您还可以找到在phpmyadmin中执行的示例sql查询