в моей базе данных нет графика с двумя php-запросами

Я выполняю проект аналогового измерителя температуры, который превращает дату и измерение в базу данных, и хотел сделать график с высокими диаграммами в php, обращаясь к дате и измерению, чтобы представить его на линейном графике. Запрос работает (я пробовал его отдельно, он указывает на столбец базы данных с именем date, а другой - с температурой), но со мной происходит одна любопытная вещь: у меня два разных запроса, один для оси x (категории) и один для y (данные ). Если я поставлю только один из двух запросов, либо данных, либо категорий, появится график (прилагается ниже), но если я соединю эти два запроса, он не покажет никакого графика. Я просто новичок в программировании, и я не могу найти причину ошибки. Не могли бы вы помочь мне? Большое спасибо




    
    
    Highcharts Example

    






Esta es la imagen si pongo valores de temperatura manuales (3,4,5)

Imagen con valores de categorías manuales

Imagen con las dos consultas juntas

1
задан 30.11.2019, 12:49
1 ответ

Твоя ошибка состоит в том, что ты открываешь два цикла без необходимости. Я имею в виду это: while ($row=mysqli_fetch_array($result). Необходимо понимать, что, когда ты получаешь данные, которые в этом случае находятся в $result, что у тебя есть ahà - это указатель к данным, и каждый раз, когда ты применяешь один fetch ты двигаешь указатель. Если tú ты применяешь while два раза, значь, что второй раз указатель estarÃ: уже vac¦ - или, так как в первом while уже ты это пробежал, я завершаю. Как следствие, ты должен получать все данные внутри первого while.

Пытается следующего способа. Идея aquà - состоит в том, чтобы получать данные о линии temperatura внутри único while, сохранять их в переменной $temperaturas и потом размещать их внутри элемента соответствующих data.

Ввиду того, что c¦digo немного смущен, - возможно, что он не точно asà - и было нужно приспосабливать это. По крайней мере то, что видно, что внутри data ir¦ - в array температуры. Если оно не функционирует, я благодарен за то, чтобы ты показал в вопросе пример конечного объекта, который должен строиться, чтобы мочь помогать тебе лучше. Ключ состоит в том, чтобы использовать while единственный раз, чтобы доставать él данные, в которых ты нуждаешься. Ошибка состоит, как ты нуждаешься в данных в двух отличных частях, в том, чтобы использовать while два раза.

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Highcharts Example</title>

    <style type="text/css">

    </style>
</head>
<body>
<script src="code/highcharts.js"></script>
<script src="code/modules/exporting.js"></script>
<script src="code/modules/export-data.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"> 
</div>

<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

$servername = "localhost";
$database = "estacion_meteo";
$username = "root";
$password = "";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}


$result = mysqli_query ($conn,"SELECT * FROM datos");
$temperaturas=array();
?>



        <script type="text/javascript">
Highcharts.chart('container', {
    chart: {
    type: 'line'
},
title: {
    text: 'Medición de Temperatura'
},
subtitle: {
    text: 'Estación Metereológica'
},
xAxis: {
    categories: [<?php while ($row=mysqli_fetch_assoc($result)) {

            echo "['".$row["fecha"]."'],";
            #Aunque estos datos son de yAxis los guardamos desde ahora
            #porque estamos recorriendo en este bloque el puntero de los datos
            $temperaturas[]=$row["temperatura"];
    }
?>]
},
yAxis: {
    title: {
        text: 'Temperature (°C)'
    }
},
plotOptions: {
    line: {
        dataLabels: {
            enabled: true
        },
        enableMouseTracking: false
    }
},
series: [{
    name: 'Temperatura',
    data: [ 
            <?php $temperaturas; #Asignamos los datos guardados en el while
?>
           ]

}]
});
        </script>
    </body>
</html>
0
ответ дан 01.12.2019, 10:33