javascript - highcharts $_post['value'] does not print chart values
Get the solution ↓↓↓I wanted to create a highchart using a dropdown and the selected value should be used in the where clause in a select statement. But if I click on the button then the chart is printed but with no values (e.g. dbsize, or timestamp...). If I change the $db variable to "postgres" or something like that, the chart will be printed normally.
Here is the html code:
<iframe name="hideframe" id="hideframe" style="display: none;"></iframe>
<form action="printchart.php" method="post" target="hideframe" >
<div class="dropdown" >
<select class="form-control" name="thenumbers" >
<option value="postgres">postgres</option>
<option value="template1">template1</option>
<option value="testdb">testdb</option>
</select>
</div>
<button name="Button5" id="Button5">click</button>
<div id="container" style="height: 400px; min-width: 310px">
<?php include("printchart.php"); ?>
</div>
And here is the printchart.php File including js for highchart:
<?php
require("00connection.php");
$db = $_POST['thenumbers'];
//$db = "postgres";
?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$('#Button5').click(function () {
$(document).ready(function() {
var options ={
chart: {
renderTo: 'container',
type: 'line',
zoomType: 'x',
setSize: 400
},
title: {
text: "DB-Size"
},
xAxis: {
categories: [
<?php
$sql = $conn->query("SELECT dbname,dbsize, epoch_time FROM dbstats WHERE dbname = '$db' ORDER BY epoch_time;")->fetchAll();
foreach ($sql as $row) {
?> '<?php //echo (date('Y-m-d h:i:sa',$row['epoch_time']))
$date = $row['epoch_time'] / 1000;
echo (date('Y-m-d H:i', $date)) ?>',
<?php
}
?>
],
title: {
text: "Datetime"
},
type:'datetime',
labels: {
format: '{value:%Y-%m-%d %H:%M}',
}
},
yAxis: {
title: {
text: 'DB-Size'
}
},
rangeSelector: {
enabled: true,
inputEnabled: false,
buttonPosition: {
allign: 'left'
},
labelStyle: {
display: 'none'
},
buttons: [{
type: 'month',
count: 1,
text: '1m'
},
{
type: 'month',
count: 3,
text: '3m'
}
]
},
tooltip: {
//crosshairs: true,
shared: true,
valueSuffix: 'MB',
xDateFormat: '%Y-%m-%d %H:%M'
},
series: [{
name: 'DB-Size',
data: [
<?php
$sql = $conn->query("SELECT dbname, dbsize, epoch_time FROM dbstats WHERE dbname = '$db' ORDER BY epoch_time;")->fetchAll();
foreach ($sql as $row) {
?>
<?php echo $row['dbsize'] ?>,
<?php
}
?>
]
}]
};
var chart = new Highcharts.Chart(options);
});
});
</script>
The sql statements are executed normally in both cases (if i get the value using $_POST from the form or if I create a variable and initialize it with postgres (like $db="postgres") but if I assing $db=$_POST['thenumber'] then the chart will not be printed although the select statements are executed.
I hope anybody can help me :)
Here is the image: highcharts_img
Best regards
Share solution ↓
Additional Information:
Link To Answer People are also looking for solutions of the problem: trying to access array offset on value of type bool
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.