Я новичок в методах PHP и AJAX. Мне нужно сделать сайт, который имеет селектор (выпадающее меню), где находятся идентификаторы клиентов. Когда пользователь выбирает клиента из меню, он немедленно получает график, созданный с помощью Highcharts. Диаграмма представляет собой данные времени ответа с отметками времени.
Итак, как мне создать рабочий сайт, где я могу запрашивать данные из моей базы данных mysql с помощью переменной, которая поступает из выпадающего меню? Я знаю, что есть много примеров, но я не могу заставить их работать с переменной в запросе mysql.
HTML / Highchart скрипт:
<html>
<head>
<title>Chart</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script></head>
<body>
<div id="container" style="height: 300px; width:800px"></div><script>
$(function() {
var DateTimeFS = [];
var ResponseTime = [];
var switch1 = true;
$.get('values.php', function(data) {
data = data.split('/');
for (var i in data) {
if (switch1 == true) {
DateTimeFS.push(data[i]);
switch1 = false;
} else {
ResponseTime.push(parseFloat(data[i]));
switch1 = true;
}
}
$('#container').highcharts({
yAxis: {
floor: 0,
title: {
text: 'Milliseconds'
}
},
xAxis : {
categories : DateTimeFS,
tickInterval: 30,
},
title: {
text: 'URL response time'
},
series : [{
name : 'ResponseTime',
data : ResponseTime
}]
});
});
});
</script>
</body>
</html>
php файл:
<?php
include_once ('dbconnect.php');
$sql = "select TimeStamp,ResponseTime from resulttable where ServiceID= 2";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
echo $row['TimeStamp'] . "/" . $row['ResponseTime']. "/" ;
}
?>
Вот диаграмма, которую я использую, которая заполнена ajax / php
Диаграмма:
<script>
var chart;
$(document).ready(function() {
$.getJSON("get_funnel_chart.php", function(json) {
$('#chart-container').highcharts({
chart: {
type: 'funnel',
marginRight: 350
},
title: {
text: 'Sales funnel',
x: -50
},
plotOptions: {
series: {
dataLabels: {
enabled: true,
format: '<b>{point.name}</b> ({point.y:,.0f})',
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black',
softConnector: true
},
neckWidth: '30%',
neckHeight: '25%'
//-- Other available options
// height: pixels or percent
// width: pixels or percent
}
},
legend: {
enabled: false
},
series: [{
name: 'Funnel Deals',
data: json
}]
});
});
});
</script>
PHP-скрипт возвращает закодированный в json массив значений.
Других решений пока нет …