Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2015, 17:32
Chivitoni
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 3 meses
Puntos: 1
Pregunta Cambiar datos según la fecha en Grafica HighChart

Hola a todos,tengo una gráfica en php que muestra los datos de mi base de datos,pero el problema es que mi objetivo es poder clickar en un botón y que puedas seleccionar por ejemplo última hora y que la gráfica cambie y se adecue a ese objetivo.
La gráfica la creo con HifhCharts :

<script type='text/javascript'>
$(function() {
$(document).ready(function() {
Highcharts.setOptions({
global: {
useUTC: false
}
});

var chart;
$('#container33').highcharts({
chart: {
type: 'spline',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function() {

}
}
},
title: {
text: 'Temperaturas'
},
xAxis: {
title: {
text: 'Fecha'
},
type: 'datetime',
tickPixelInterval: 150
},
yAxis: {
title: {
text: 'Valor'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) +'<br/>'+
Highcharts.numberFormat(this.y, 2);
}
},
legend: {
enabled: true
},
exporting: {
enabled: false //para permitir exportar la grafica
},
series: [{
name: 'incajones',
data: (function() {
var data = [];
<?php
for($i = 0 ;$i<count($rawdata);$i++){
?>
data.push([<?php echo $rawdata[$i]["fecha"];?>,<?php echo $rawdata[$i]["acf"];?>]);
<?php } ?>
return data;
})()
},{
name: 'Sala',
data: (function() {
var data = [];
<?php
for($i = 0 ;$i<count($rawdata);$i++){
?>
data.push([<?php echo $rawdata[$i]["fecha"];?>,<?php echo $rawdata[$i]["Sala"];?>]);
<?php } ?>
return data;
})()
},{
name: 'acc',
data: (function() {
var data = [];
<?php
for($i = 0 ;$i<count($rawdata);$i++){
?>
data.push([<?php echo $rawdata[$i]["fecha"];?>,<?php echo $rawdata[$i]["acc"];?>]);
<?php } ?>
return data;
})()
},{
name: 'rlf',
data: (function() {
var data = [];
<?php
for($i = 0 ;$i<count($rawdata);$i++){
?>
data.push([<?php echo $rawdata[$i]["fecha"];?>,<?php echo $rawdata[$i]["rlf"];?>]);
<?php } ?>
return data;
})()
},{
name: 'rlc',
data: (function() {
var data = [];
<?php
for($i = 0 ;$i<count($rawdata);$i++){
?>
data.push([<?php echo $rawdata[$i]["fecha"];?>,<?php echo $rawdata[$i]["rlc"];?>]);
<?php } ?>
return data;
})()
}]
});
});
});
</script>



Y para mostrar los datos de la base de datos utilizo la siguientes funciones:
function getArraySQL($sql){
//Creamos la conexión
$conexion = AbreBD();
//generamos la consulta
if(!$result = mysqli_query($conexion, $sql)) die();

$rawdata = array();
//guardamos en un array multidimensional todos los datos de la consulta
$i=0;
while($row = mysqli_fetch_array($result))
{
//guardamos en rawdata todos los vectores/filas que nos devuelve la consulta
$rawdata[$i] = $row;
$i++;
}
//Cerramos la base de datos
CierraBD($conexion);
//devolvemos rawdata
return $rawdata;
}

//Sentencia SQL
$sql = "SELECT acf,acc,rlf,rlc,Sala,fecha from tempciti ORDER BY `tempciti`.`fecha`";
//Array Multidimensional
$rawdata = getArraySQL($sql);

//Adaptar el tiempo
for($i=0;$i<count($rawdata);$i++){
$time = $rawdata[$i]["fecha"];
$date = new DateTime($time);
$rawdata[$i]["fecha"]=$date->getTimestamp()*1000;
}



No se si he explicado correctamente mi problema,espero que alguien pueda ayudarme un poco.
Muchas gracias y un saludo a todos.

Última edición por Chivitoni; 15/04/2015 a las 19:05 Razón: pequeños errores