Foros del Web » Programando para Internet » PHP »

Cambiar datos según la fecha en Grafica HighChart

Estas en el tema de Cambiar datos según la fecha en Grafica HighChart en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/04/2015, 17:32
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 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
  #2 (permalink)  
Antiguo 16/04/2015, 09:43
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Cambiar datos según la fecha en Grafica HighChart

no revise el código a conciencia, pero es posible que el problema lo tengas por que estas creando el json de forma "manual". Lo que debes de hacer son peticiones mediante ajax que te devuelvan una respuesta json que pases a hightchart de esa forma puedes hacer cambios dinámicos.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 17/04/2015, 14:57
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Cambiar datos según la fecha en Grafica HighChart

Cita:
Iniciado por hhs Ver Mensaje
no revise el código a conciencia, pero es posible que el problema lo tengas por que estas creando el json de forma "manual". Lo que debes de hacer son peticiones mediante ajax que te devuelvan una respuesta json que pases a hightchart de esa forma puedes hacer cambios dinámicos.

Pues o estoy yo perdido o no se,pero no uso json que yo sepa jaja
  #4 (permalink)  
Antiguo 17/04/2015, 15:08
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Cambiar datos según la fecha en Grafica HighChart

Muy perdido si no sabes que es json y mas aún si intentas usar una libreria sin conocer lo que haces. Lee la documentación de highcharts
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 18/04/2015, 03:42
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Cambiar datos según la fecha en Grafica HighChart

Cita:
Iniciado por hhs Ver Mensaje
Muy perdido si no sabes que es [URL="http://json.org/"]json[/URL] y mas aún si intentas usar una libreria sin conocer lo que haces. Lee la documentación de highcharts
Pues la he consultado y tenías razón, yo saqué la forma de hacer al gráfica de unos tutoriales de internet y no me había percatado de que se hacía con json.
Pues bien, a mi la gráfica me funciona bien y lo único que quiero es que al hacer click en cada una de las opciones del menú horizontal se recargue la página con esos datos,por ejemplo,si hago sin click en "esta semana" se muestren los datos de esa semana y si hago click en "ultima hora" se muestren los datos de ese periodo y asi con las demás opciones.

Las consultas sql ya las tengo hechas,mi problema es como hacer para que cuando se recargue la página clickando en cada opción coja esa consulta y no la de por defecto.

Muchas gracias

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:43.