PHP - Grafico script - Como obtener datos base de datos??

   
Vista:

Grafico script - Como obtener datos base de datos??

Publicado por Edgar (18 intervenciones) el 17/04/2017 14:52:50
Buenas tardes,

Encontre un grafico por internet hace unas semanas que me gusto mucho, el problema es que ahora mismo tiene los datos fijos en el script. (Soy nuevo en el tema de scripts) La verdad es que me gustaria poder obtener los datos de una tabla de mi base de datos. Se puede hacer? Como?

Gracias por la ayuda.


Incluyo código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
 
<script type="text/javascript">
	var chart;
	$(document).ready(function() {
 
		chart = new Highcharts.Chart({
			chart: {
				renderTo: 'graficaLineal', 	// Le doy el nombre a la gráfica
				defaultSeriesType: 'line'	// Pongo que tipo de gráfica es
			},
			title: {
				text: 'Datos de las Visitas'	// Titulo (Opcional)
			},
			subtitle: {
				text: 'Jarroba.com'		// Subtitulo (Opcional)
			},
			// Pongo los datos en el eje de las 'X'
			xAxis: {
				categories: ['Feb12','Mar12','Abr12','May12','Jun12','Jul12','Ago12','Sep12','Oct12','Nov12',
'Dic12','Ene13','Feb13','Mar13','Abr13','May13','Jun13'],
				// Pongo el título para el eje de las 'X'
				title: {
					text: 'Meses'
				}
			},
			yAxis: {
				// Pongo el título para el eje de las 'Y'
				title: {
					text: 'Nº Visitas'
				}
			},
			// Doy formato al la "cajita" que sale al pasar el ratón por encima de la gráfica
			tooltip: {
				enabled: true,
				formatter: function() {
					return '<b>'+ this.series.name +'</b><br/>'+
						this.x +': '+ this.y +' '+this.series.name;
				}
			},
			// Doy opciones a la gráfica
			plotOptions: {
				line: {
					dataLabels: {
						enabled: true
					},
					enableMouseTracking: true
				}
			},
			// Doy los datos de la gráfica para dibujarlas
			series: [{
		                name: 'Visitas',
		                data: [103,474,402,536,1041,270,0,160,2462,3797,3527,4505,8090,7493,7048,11408,10886]
		            },
		            {
		                name: 'Visitantes Únicos',
		                data: [21,278,203,370,810,213,0,134,1991,3122,2870,3655,6400,5818,5581,8529,8261]
		            },
		            {
		                name: 'Páginas Vistas',
		                data: [1064,1648,1040,1076,2012,397,0,325,3732,6067,5226,6482,11503,11937,9751,16061,15643]
		            }],
		});
	});
</script>
 
<div id="graficaLineal" style="width: 100%; height: 500px; margin: 0 auto">
</div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de cristian

Grafico script - Como obtener datos base de datos??

Publicado por cristian (6 intervenciones) el 20/04/2017 16:15:50
La verdad no tengo mucha experiencia ,pero si lo que quiere es traer datos de la base puede usar ajax,

donde llamas a un controlador y el controlador llama a un modelo o consulta MYSQL en este caso

AJAX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$(document).ready(function ()
{
//    inicio datos por fecha
    $("#hasta").on('change', function () {
        var desde = $("#desde").val();
        var hasta = $("#hasta").val();
        //var codigo = $(this).attr("value");
 
        if (desde !== "" )
        {
            $.get(
                    "index.php?controller=site&action=getRegistros",
                    {
                        desde: desde,
                        hasta: hasta
                    },
                    function (resp) {
 
                        if (resp.success)
                        {
                            var resp_name = $.parseJSON(resp.name)
                            $("#pru").html(resp_name[o].codigo_salida);
                            // $("#pru").html(resp);
                        } else
                        {
 
                            (alertify.error('No hay registros entre esas fechas'));
                        }
 
                    },
                    "json"
                    );
        }
 
    });

LLAMAMOS AL CONTROLLLER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public function getRegistros() {
 
 
        $resp = array(
            "success" => false,
            "message" => "Error en el llamado AJAX",
            "name" => NULL
            );
        if (isset($_GET["desde"])) {
            $desde = $_GET["desde"];
             $hasta = $_GET["hasta"];
 
           $salida = new salida($this->adapter);
            $name = $salida->getFechas($desde,$hasta);
 
       if($name=="null")
      {
 
          $resp = [
              "message" => "Error en la consulta",
          ];
      }
 
 else { $resp = [
 
       "success"=>true,
        "name"=>"$name",];
 
}
      }
 
       echo json_encode($resp);
 
    }
DESDE Y HASTA SON LOS FILTROS ENTRE FECHAS QUE ACTIVAN LA FUNCION

EL CONTROLADOR LLAMA LA CONSULTA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function getFechas($desde, $hasta) {
 
        $query = $this->db->query("SELECT * FROM salida WHERE fecha_salida BETWEEN '$desde' AND '$hasta' ORDER BY codigo_salida ASC");
 
 
        $resultSet = null;
 
 
        while ($row = $query->fetch_object()) {
            $resultSet[] = $row;
        }
 
 
        return json_encode($resultSet);
    }

ASI LLEGA TODO AL AJAX
EN RESP.SUCCES LLEGA TODO LO QUE HALLAS CONSULTADO,SOLO ES PONER
1
2
3
resp_name = $.parseJSON(resp.name)
                            nombre = resp_name[0].nombre;
                            codigo = resp_name[0].codigo;

VARIABLES Y EL NOMBRE DEL CAMPO QUE QUIERES ELEGIR



ESPERO HABER APORTADO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar