Am urmatorul cod pentru chartul de tip line:
Cod: Selectaţi tot
function fetch_select(){
val_an_inceput = $('#get_an_inceput').val();
val_personal = $('#get_personal').val();
$.ajax({
type: 'POST',
url: 'Query_sql.php',
data: { get_an_inceput: val_an_inceput,
get_personal: val_personal
},
success: function (response) {
document.getElementById('container').innerHTML=response;
columnChart( JSON.parse(response));
}
});
}
function columnChart(data_v){
if(data_v.length >0){
$(function () {
$('#container').highcharts({
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com',
x: -20
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
.......
series: [{
name: 'Tokyo',
data: data_v // valori sub forma: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}]
});
});
}
}
Cod: Selectaţi tot
+----+-----------+--------------+
| ID | MONTH | QUANTITY |
+----+----- -----+--------------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 7 | 3 |
| 4 | 4 | 1 |
| 5 | 2 | 3 |
| 6 | 12 | 8 |
| 7 | 1 | 6 |
+----+-------+------------------+
Cod: Selectaţi tot
<?php
include 'bd_cnx.php';
if(isset($_POST['get_an_inceput'],
$_POST['get_personal']
)){
//Array-ul cu datele care vor fi returnate, in format json
$finalArray = $store = [];
// Interogare SQL
$sch_an_inceput = $_POST['get_an_inceput'];
$sch_personal = $_POST['get_personal'];
$sql = "SELECT
.......
ORDER BY TOTAL DESC";
// Executa interogarea si retine datele returnate
$result = $conn->query($sql);
// daca $result contine cel putin un rand
if ($result->num_rows > 0){
// adauga datele din fiecare rand din $result in $ret
while($row = $result->fetch_assoc()){
//floatval() transforma sirul numeric in numar
$ret[] =[floatval($row['TOTAL'])];
}
}
}
//returneaza datele ca json
if (count($ret) >1){
echo json_encode($ret);
}
else {
echo 'Nu s-au realizat livrari in perioada selectata';
}
?>
In grafic la xAxis.categories sunt trecute toate lunile, insa daca in baza mea de date nu sunt valori in luna MAI nu returneaza nimic si atunci graficul se decaleaza, ramand 11 luni in loc de 12
Ce pot face ca atunci cand in baza de date nu sunt valori la o luna sa imi returneze valoarea 0.
In baza de date exista asa:
Cod: Selectaţi tot
ian->1; mar->5; apr->6; sep->
Cod: Selectaţi tot
ian->1; feb->0; mar->5; apr->6; mai->3; iun->4; iul->7....dec->3