Como graficar datos por fecha con chartjs en MVC
Publicado por Rosario Angeles (6 intervenciones) el 31/10/2018 22:57:54
Hola buen día tengo un problema no puedo graficar datos de una tabla en MySQL con codeigniter, solo eh podido graficarlos con dos datos de la tabla, pero quiero graficar la suma de los saldos por meses y no tengo idea de como hacerlo ¿pueden ayudarme?
Mi tabla en MySQL
VISTA
CONTROLADOR ( llamado con_estadisticas)
MODELO (llamado estadisticas_model)
Mi tabla en MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `pago` (
`Id` int(30) ,
`Folio` varchar(10) ,
`Fecha` date ,
`Forma_pago` varchar(50) ,
`Importe` float ,
`Estado` varchar(30),
`Banco` varchar(20) ,
`Numchequel` varchar(6) ,
`Fecha_posfe` varchar(50) ,
`Factura_rel` int(20),
`Perfil_user` int(10),
`Numasig_rel` varchar(20)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
VISTA
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
70
71
<h1 class="page-header"><span class="glyphicon glyphicon-usd"></span>
Saldos
<small>Estadísticas</small>
</h1>
<br>
<div id="graficagral">
<canvas id="myChart" width="400" height="150"></canvas>
</div>
<br>
<script>
var paramFac = [];
var paramMonto = [];
$.post("<?php echo base_url();?>con_estadisticas/getgrafsal",//llama al controlador y esta a su vez al modelo que contiene la consulta SQL
function(data){
var obj = JSON.parse(data);
paramFac = [];
paramMonto = [];
$.each(obj,function(i,item){
paramFac.push(item.Factura);
paramMonto.push(item.Importe);
});
$('#myChart').remove(); //borra la grafica (para que no se repitan los datos)
$('#graficagral').append("<canvas id='myChart' width='400' height='150'></canvas>"); //vuelve a generar la grafica
var ctx = $("#myChart");
var myChart = new Chart(ctx,{
type: 'line',
data: {
labels: paramFac,//["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],
datasets:[
{
label: "Monto de saldos",
fill: true,
lineTension: 0.1,
backgroudColor: "rgba(75,192,192,0.4)",
borderColor: "rgba(75,192,192,1)",
borderCapStyle: 'butt',
borderDash:[],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75,192,192,1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 10,
pointHoverRadius: 5,
pointHoverBackgroudColor: "rgba(75,192,192,1)",
pointHoverBorderColor: "rgba(220,220,220,1)",
pointHoverBorderWidth: 5,
pointRadius: 1,
pointHitRadius: 10,
data: paramMonto,
spanGaps: false
}
]
},
options:{
scales:{
yAxes: [{
ticks:{
beginAtZero: true
}
}]
}
}
});
});//
</script>
CONTROLADOR ( llamado con_estadisticas)
1
2
3
4
5
//----------- GRAFICA DE SALDOS --------------------------------
public function getgrafsal(){
$result= $this->estadisticas_model->count_salds();//manda el dato al modelo
echo json_encode($result);
}
MODELO (llamado estadisticas_model)
1
2
3
4
5
6
public function count_salds(){
$this->db->select('*');
$this->db->from('pago');
$query = $this->db->get();
return $query->result();
}
Valora esta pregunta
0