RGraph, Несколько графиков с данными из источника PHP / MySQL - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь показать несколько графиков на одной диаграмме. Источником данных является база данных MySQL, подключенная через PHP. Моя проблема: я не могу понять, как добавить данные в сценарий RGraph. Мне удалось показать один график через PHP, но я не могу добавить второй. Вот как я успешно получаю данные (после подключения к базе данных c.): Важно!: (по крайней мере, я так думаю) У меня есть два разных случая, в одном случае возвращаемые данные - это одно число (например: «2»), во втором случае это массив из 52 различных чисел.

$1 = mysql_query("SELECT * FROM Table WHERE spalte1 ='XX' AND spalte2 ='XX' ORDER BY Datum DESC Limit 1");
    if ($1) {

        $labels = array();
        $data   = array();

        while ($row = mysql_fetch_assoc($1)) {
            $labels[] = $row["datum"];
            $2[] = $row["max"];
        }
        // Now you can aggregate all the data into one string
        $2_string = "[" . join(", ", $2) . "]";
        $labels_string = "['" . join("', '", $labels) . "']";
    } 
    else 
    {
        print('MySQL query failed with error: ' . mysql_error());
    }       

Вот как я рисую график:

<canvas id="cvs" width="1200" height="250">[Browser not supported]</canvas>
            <script>
            //window.onload = function ()
            //{
            new RGraph.Line({
                    id:'cvs',
                    data:[<?php print($2_string) ?>],
                    options: {
                        colors:['#B71A1A'],
                        backgroundGrid: true,
                        //xaxisLabels: [<?php print($labels_string) ?>],
                        //xaxisLabelsAngle: 25,
                        xaxis: true,
                        yaxis: true,
                        yaxisScale: true,
                        yaxisScaleUnitsPost:'%',
                        yaxisScaleMax: 100,
                        title: 'XX',
                        textAccessible: true,
                        key: ['XX'],
                        keyPosition: 'margin',
                        keyPositionX: 25,

                    }
                }).draw();

Но как добавить на эту диаграмму второй график? Все демонстрации говорят что-то вроде:

data = [[1,2,3],[4,5,6]]

Итак, я пробовал разные версии (только один пример):

data = [[<?php print($1_string) ?>],[<?php print($2_string) ?>]]

Надеюсь, у кого-то есть идея ... :)

Спасибо за каждую попытку :)

1 Ответ

0 голосов
/ 23 июня 2020

Вот что я отправил Саймону по электронной почте

<?php
    $1_data = 5;
    $2_data = array(2,3,8 4,6,8,6,9,8,7,5,8);

    // Make JavaScript arrays out of the above number and PHP array
    // also making an array of two numbers out of the single number
    $1_string = '[' . join(',', array($1_data, $1_data) . ']';
    $2_string = '[' . join(',', $2_data) . ']';
?>

<canvas id="cvs" width="1200" height="250">[Browser not supported]</canvas>

<script>
    new RGraph.Line({
        id:'cvs',
        data:[
            <?php print($1_string) ?>,
            <?php print($2_string) ?>
        ],
        options: {
        }
    }).draw();
</script>
...