Загрузка данных из SQL в табулятор - PullRequest
0 голосов
/ 11 ноября 2019

Я хочу загрузить данные из моей таблицы SQL в Tabulator, но я всегда получаю сообщение об ошибке AJAX: "parsererror", которое создается моим кодом 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},

    ], 
});

Я загружаю данные, используя следующий запрос 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 для загрузкиданные следующие:

<?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);
?>

Большое спасибо за вашу помощь!

1 Ответ

1 голос
/ 12 ноября 2019

Согласно вашему скриншоту в разделе комментариев. Ответ Ошибка консоли

Вы получаете объект вместо массива ... Чтобы преобразовать его в массив объекта,

В вашем php изменителиния

echo json_encode($data,JSON_UNESCAPED_UNICODE);

до

echo "[".json_encode($data,JSON_UNESCAPED_UNICODE)."]";

...