Получение диаграммы через JavaScript и MySQL - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь отправить данные из базы данных (data_viewer) в диаграмму javascript, но не работает.Мне нужно отобразить data_viewer как y: ... (в метке: "Vada 1", y: data_viewer).Кто-нибудь знает, что я делаю не так?Спасибо.Соединение с базой данных в порядке, и график, кажется, также в порядке.Но нет данных из базы данных.

    <?php
    require('db_config.php');

    /* Getting srot_data vada */
    $sql = "SELECT count(blok) AS count FROM srot_data WHERE Vada = '1' GROUP BY vada";
    $viewer = mysqli_query($mysqli,$sql);
    $viewer = mysqli_fetch_all($viewer,MYSQLI_ASSOC);
    $viewer = json_encode(array_column($viewer, 'count'),JSON_NUMERIC_CHECK);

?>
    <script>

window.onload = function () {  

var data_viewer = <?php echo $viewer; ?>;
var chart = new CanvasJS.Chart("chartContainer", {
    title:{
        text: "PPM 1"
    },
    axisY: {
        title: "Hodnoty",
        lineColor: "#4F81BC",
        tickColor: "#4F81BC",
        labelFontColor: "#4F81BC"
    },
    axisY2: {
        title: "Procenta",
        suffix: "%",
        lineColor: "#C0504E",
        tickColor: "#C0504E",
        labelFontColor: "#C0504E"
    },
    data: [{
        type: "column",
        dataPoints: [
      { label: "Vada 1", y: data_viewer },
        ]
    }]
});
chart.render();
createPareto(); 

function createPareto(){
    var dps = [];
    var yValue, yTotal = 0, yPercent = 0;

    for(var i = 0; i < chart.data[0].dataPoints.length; i++)
        yTotal += chart.data[0].dataPoints[i].data_viewer;

    for(var i = 0; i < chart.data[0].dataPoints.length; i++){
        yValue = chart.data[0].dataPoints[i].data_viewer;
        yPercent += (yValue / yTotal * 100);
        dps.push({label: chart.data[0].dataPoints[i].data_viewer, y: yPercent});
    }

    chart.addTo("data",{type:"line", yValueFormatString: "0.##\"%\"", dataPoints: dps});
    chart.data[1].set("axisYType", "secondary", false);
    chart.axisY[0].set("maximum", yTotal);
    chart.axisY2[0].set("maximum", 100);
}

}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...