Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal tenho o seguinte código:
function drawBasic() {
$.ajax({
type: 'POST',
data: 'ref=drawGraphFinance2&id=' + $('#hidb').val(),
url: '../../assets/server/client/Builds.php',
dataType: 'json',
success: function (data) {
json_events = data;
}
});
var data = google.visualization.arrayToDataTable([
['Element', 'Valor', {role: 'style'}],
['Jan', 8.94, '#fea400'],
['Fev', 10.49, '#fea400'],
['Mar', 19.30, '#fea400'],
['Abr', 21.45, '#fea400'],
['Mai', 50, '#fea400'],
['Jun', 21.45, '#fea400'],
['Jul', 21.45, '#fea400'],
['Ago', 21.45, '#fea400'],
['Set', 21.45, '#fea400'],
['Out', 21.45, '#fea400'],
['Nov', 21.45, '#fea400'],
['Dez', 21.45, '#fea400']
]);
var options = {
title: 'Gastos/mês',
hAxis: {
title: 'Meses'
},
vAxis: {
title: 'Valor (R$)'
},
'height': 350,
'colors': ['#fea400']
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div_2'));
chart.draw(data, options);
}
public function drawGraphFinance2($idBuild) {
$data = array($idBuild);
$sql = "SELECT SUM(price) AS totlaPrice, DISTINCT EXTRACT(YEAR_MONTH FROM date) AS data FROM sys_constructions_finance WHERE id_construction = ? GROUP BY date;";
return parent::selectDB($sql, $data);
}
$responseFinance = $b->drawGraphFinance2($_POST['id']);
$rows = array();
foreach ($responseFinance as $dgf2) {
$temp = array();
$temp[] = array('v' => (string) $dgf2->data);
$temp[] = array('v' => (doubleval($dgf2->totalPrice)));
$rows[] = array('c' => $temp);
}
$table['rows'] = $rows;
echo json_encode($table);
Não estou conseguindo montar o gráfico da maneira correta, alguem pode me ajudar?
O que está errado, é a parte do PHP, que monta o array pra exibir na função arrayToDataTable
Seu código PHP é só aquela parte, do $responseFinance até o json_encode? Se você mais código entre essas duas linhas ou relacionadas à elas, posta também.
Onde você cria essa variável $table?
O que significa "dgf2", "v" e "c"?
Qual é o formato do array/objeto que chega no JavaScript? Coloca um console.info(data) dentro da função success, abre o console de desenvolvedor do Chrome (F12), testa e posta o resultado aqui.
Qual o formato que o array deveria ter?
>
Seu código PHP é só aquela parte, do $responseFinance até o json_encode? Se você mais código entre essas duas linhas ou relacionadas à elas, posta também.
Onde você cria essa variável $table?
O que significa "dgf2", "v" e "c"?
Qual é o formato do array/objeto que chega no JavaScript? Coloca um console.info(data) dentro da função success, abre o console de desenvolvedor do Chrome (F12), testa e posta o resultado aqui.
Qual o formato que o array deveria ter?
O array é da seguinte maneira:
['Element', 'Valor], // Seta as colunas
['Jan', 8.94] // Valor do banco de dados / mes,valor
Primeiro debug, veja qual o formato json está retornando do PHP. Acredito que você fez array de mais aí.
Qual parte exatamente não está funcionando? Qual é a mensagem de erro?