Задать вопрос
@mistergalynsky

Как вернуть данные json в HighCharts?

Всем доброго времени суток. Помогите отправить данные в JSON формате в JS Highcharts. Есть два поля которые выбираются: Температура и Влажность. По ним дальше должен строиться график. С одним полем все работало как только два добавил все умерло.
PHP:
/* SQL */
		/* Connect */
			try
			{
				$connection = new PDO("mysql:host=localhost;dbname=my","root","");
			}
			catch (PDOException $e)
			{
				echo 'Connection error: ' . $e->getMessage();
			}
		/* /Connect */
		/* Query */
			$query = $connection->prepare("SELECT temperature, humidity FROM weather WHERE date >= CURDATE()");
			$query->execute();
			$result = $query->fetchAll(PDO::FETCH_ASSOC);
			
			$my = array();
			if($query->rowCount() < 1)
			{
				echo "Не найдено";
			}
			else
			{
				foreach ($result as $row)
				{
					$my[] = $row;
				}
			}
			echo json_encode($my);
		/* /Query */
	/* /SQL */

JS:
$(function(){
	var options = {
        chart: {
            renderTo: 'mychart',
            type: 'spline'
        },
		title: {
            text: 'Мониторинг температуры и влажности за день'
        },
        xAxis: {
            categories: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
        },
        yAxis: {
            title: {
                text: 'Значение'
            }
        },
        series: [{}]
    };
	
	$.getJSON('../ajax/get_weather_day.php', function(data){
		options.series[0].name = "Температура";
		options.series[0].data = data.temperature;
		options.series[1].name = "Влажность";
		options.series[1].data = data.humidity;
        var chart = new Highcharts.Chart(options);
    });
});
  • Вопрос задан
  • 3915 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
DaFive
@DaFive
Не знаю, что произойдет, если вы для options.series[1], который у вас является по-умолчанию undefined - добавите значение какое-либо.
Попробуйте при создании графика в ключе series указать 2 пустых объекта.
yAxis: {
      title: {
           text: 'Значение'
      }
  },
 series: [{}, {}]


А вообще, у меня графики хайчартс как раз работают с двумя категориями, но я себе завел уже за правило сначала получить данные, а потом по ним сразу делать график, а не сделать график, потом, получив данные, переопределять его свойства.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы