Проблемы с использованием jpgraph и php

Так как это мой первый вопрос, я надеюсь, что это правильно. Моя проблема заключается в следующем: я измеряю различные значения (например, температуру, влажность, скорость ветра и т. Д.) С помощью esp8266 и записываю их в мою базу данных MySQL.

Теперь я хочу отобразить эти значения в виде таблицы и графика. Для графика я следовал этому руководству.

Таблица отображается отлично, но вместо графика я получаю это сообщение об ошибке:JpGraph Ошибка: 25044 Невозможно использовать автоматическое масштабирование, поскольку невозможно определить действительное минимальное / максимальное значение оси Y (только нулевые значения).

Я очень, очень плохо знаком с html, php и jpgraph, поэтому у меня может быть очень очевидная ошибка в моем коде, но я не могу понять, что с ним не так.

Код:

<!DOCTYPE html>

<html>

    <head>

        <link rel="stylesheet" href="styles.css">

        <title>IoT</title>
    </head>
<body>

    <h1>Felix seine Wetterstation</h1>
    <p>Sagt der Thunfisch zum Walfisch: "Was sollen wir tun, Fisch?". Antwortet der Walfisch dem Thunfisch: "Du hast die Wahl, Fisch."</p>

    <?php
    $pdo = new PDO('mysql:host=134.106.243.117;dbname=iot', 'user', 'password');

    $sql = "SELECT * FROM iot.werte ORDER BY Zeit DESC";

    ?>
    <table>
        <tbody>
            <tr>
                <th>Datum und Zeit</th>
                <th>Temperatur</th>
                <th>Luftfeuchte</th>
                <th>Windgeschwindigkeit</th>
                <th>Helligkeit</th>
            </tr>
        <?php foreach ($pdo->query($sql) as $row) : ?>
        <tr>
            <td><?=$row['Zeit']?></td>
            <td><?=$row['Temperatur']?></td>
            <td><?=$row['Luftfeuchte']?></td>
            <td><?=$row['Windgeschwindigkeit']?></td>
            <td><?=$row['Helligkeit']?></td>
        </tr>
        <?php endforeach; ?>
        </tbody>
    <table> 

    <?php // content="text/plain; charset=utf-8"

    define('__ROOT__', dirname(dirname(__FILE__))); 
    require_once ('C:/xampp/htdocs/jpgraph-4.2.0/src/jpgraph.php');
    require_once ('C:/xampp/htdocs/jpgraph-4.2.0/src/jpgraph_line.php');
    require_once ('C:/xampp/htdocs/jpgraph-4.2.0/src/jpgraph_error.php');

    $x_axis = array();
    $y_axis = array();
    $i = 0;

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

    $result = mysqli_query($con,"SELECT * FROM iot.werte");

    while($row = mysqli_fetch_array($result)) {
    $x_axis[$i] =  $row["Temperatur"];
    $y_axis[$i] = $row["Zeit"];
        $i++;
    }

    mysqli_close($con);

    $graph = new Graph(800,500);
    $graph->img->SetMargin(40,40,40,40);  
    $graph->img->SetAntiAliasing();
    $graph->SetScale("textlin");
    $graph->SetShadow();
    $graph->title->Set("Example of line centered plot");
    $graph->title->SetFont(FF_FONT1,FS_BOLD);


    // Use 20% "grace" to get slightly larger scale then min/max of
    // data
    $graph->yscale->SetGrace(0);


    $p1 = new LinePlot($y_axis);
    $p1->mark->SetType(MARK_FILLEDCIRCLE);
    $p1->mark->SetFillColor("red");
    $p1->mark->SetWidth(4);
    $p1->SetColor("blue");
    $p1->SetCenter();
    $graph->Add($p1);

    $graph->Stroke();

    ?>
</body>

То, что я получаю, выглядит так: Веб-страница

У вас есть идеи, что вызывает проблему?

0 ответов

Другие вопросы по тегам