Ir ao conteúdo
  • Cadastre-se
Isador

Javascript ChartJS e PHP - gráficos não plotam na página

Recommended Posts

Olá, pessoal! 

Estou tentando fazer algumas gráficos usando a biblioteca ChartJs, mas os gráficos simplesmente não plotam e nenhum erro é dado.

 

HTML(parte do grafico)

 

<div class="panel-body">
						<div class="canvas-wrapper">
							<canvas class="main-chart" id="bar-chart" height="200" width="600"></canvas>
						</div>
					</div>

	<script src="js/jquery-1.11.1.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
	<script src="js/chart.min.js"></script>
	<script src="js/chart-data.js"></script>
	<script src="js/bootstrap-datepicker.js"></script>
	<script src="js/custom.js"></script>
	<script type="text/javascript" src="js/app_pagamentos_clientes.js"></script>
</body>

PHP (busca os dados no banco)

obs: quando abro esse arquivo no browser mostra meus dados corretamente no formatos json (logo, ele está pegando os dados)

<?php
require('../../Controller/conexao_bd/conexao_dw_bi.php');
require('../../Model/Login/verifica_acesso.php');

//setting header to json
//header('Content-Type: application/json');
	 					
	 					$empresa = $_SESSION['nome_empresa'];

                    
                          $pdo = Conexao::getInstance();


                         //buscar id da empresa
                      	$sk_empresa_busca = $pdo->prepare("SELECT sk_empresa from dim_empresa where nome_empresa=:empresa");
                      	$sk_empresa_busca->bindParam(':empresa',$empresa, PDO::PARAM_STR);

                      	$sk_empresa_busca->execute();

                      	while($dado1 = $sk_empresa_busca->fetch(PDO::FETCH_OBJ)){

                      		$sk_empresa = $dado1->sk_empresa;

                      	}

			//query to get data from the table
			$query = $pdo->prepare("SELECT SUM(fato.valor_lancamento) as valor_lancamento, cliente.nome_cliente FROM fato_lancamento_contabil as fato INNER JOIN dim_cliente as cliente ON fato.cnpj_cpf_forne_cliente = cliente.cpf_cnpj_cliente WHERE fato.dim_empresa_sk_empresa = :sk_empresa AND fato.dim_cliente_sk_cliente IS NOT NULL AND fato.dim_fornecedor_sk_fornecedor IS NULL GROUP BY 2");
			$query->bindParam(':sk_empresa',$sk_empresa, PDO::PARAM_INT);

			$query->execute();


						//loop through the returned data
						$data = array();

                      	while($dados = $query->fetch(PDO::FETCH_OBJ)){

                      	$data[] = $dados;

                      	}
		

				//now print the data
				print json_encode($data);


				?>

Output no browser:

 

[{"valor_lancamento":"439.6199999999998","nome_cliente":"BANCO ITA\u00da"},{"valor_lancamento":"865951.8499999999","nome_cliente":"BRF"},{"valor_lancamento":"404862.43","nome_cliente":"DANOSSA"},{"valor_lancamento":"17810","nome_cliente":"NATURAL DE GOIAS"},{"valor_lancamento":"77113","nome_cliente":"MARIO E SOUZA"}]

 

JS (fez a conexão com os dados e envia para o html)

OBS: acho que o erro está aqui.

 

$(document).ready(function(){
	$.ajax({
		url: "http://localhost/Model/Empresa/dados_pagamentos_clientes.php",
		method: "GET",
		success: function(data) {
			console.log(data);
			var receita = []; //score
			var cliente = []; //player
			

			for(var i in data) {
				cliente.push("Player: " + data[i].nome_cliente);
				receita.push(data[i].valor_lancamento);
			}

			var chartdata = {
				labels: cliente,
				datasets : [
					{
						label: 'Pagamentos por Clientes',
						backgroundColor: 'rgba(200, 200, 200, 0.75)',
						borderColor: 'rgba(200, 200, 200, 0.75)',
						hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
						hoverBorderColor: 'rgba(200, 200, 200, 1)',
						data: receita
					}
				]
			};

			var ctx = $("#bar-chart");

			var barGraph = new Chart(ctx, {
				type: 'bar',
				data: chartdata
			});
		},
		error: function(data) {
			console.log(data);
		}
	});
});

 

Quem puder ajudar, agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×