Gregore Cruzeiro Postado Dezembro 16, 2018 Denunciar Share Postado Dezembro 16, 2018 Bom dia, estou há duas semanas tentando fazer com que o gráfico chart.js pegue os dados do banco de dados e exiba em tempo real. Segue meu banco de dados. CREATE TABLE `tab_clientes` ( `id` int(11) NOT NULL, `data_nascimento` date DEFAULT NULL, `line` varchar(220) NOT NULL, `model` varchar(220) NOT NULL, `wo` varchar(220) NOT NULL, `tool` varchar(220) NOT NULL, `detection_point` varchar(220) NOT NULL, `defect_content` varchar(220) NOT NULL, `causes` varchar(220) NOT NULL, `owner` varchar(220) NOT NULL, `qty` varchar(220) NOT NULL, `ppm` varchar(220) NOT NULL, `action` varchar(220) NOT NULL, `symptom` varchar(220) NOT NULL, `status` varchar(10) DEFAULT NULL, `foto` varchar(200) DEFAULT NULL, `data_cadastro` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `data_alteracao` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; A coluna Symptom ele da resposta Leakage ou Function, gostaria de contabilizar cada um e dar o resultado por semana. tentei assim... porem não consigo dividir os dias da semana em relação a data selecionada. <?php // Consultar dados $dados = array(); $sql = "SELECT symptom, COUNT(*) as data_nascimento FROM tab_clientes WHERE data_nascimento BETWEEN '2018-11-28' AND '2018-11-29' GROUP BY symptom"; $pdo = new PDO('mysql:host=localhost;dbname=db_blog', 'root', ''); $stmt = $pdo->query($sql); while ($obj = $stmt->fetchObject()) { switch ($obj->symptom) { case 'Leakage': $dados['Leakage'] = $obj->data_nascimento; break; case 'Function': $dados['Function'] = $obj->data_nascimento; break; } }?> <script> var ctx = document.getElementById("myChart"); var myChart = new Chart(ctx, { type: 'line', data: { labels: ["W", "Monday", "Tuesday", "Wednesday", "W48", "W49", "W50"], datasets: [{ label: "Leakeage", data: [<?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>], lineTension: 0, backgroundColor: 'transparent', borderColor: '#007bff', borderWidth: 4, pointBackgroundColor: '#007bff' },{ label: "Function", data: [<?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>], lineTension: 0, backgroundColor: 'transparent', borderColor: '#7bff00', borderWidth: 4, pointBackgroundColor: '#7bff00' }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero: false } }] }, legend: { display: false, } } }); </script> Se alguém puder me ajudar. Agradeço muito!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gregore Cruzeiro
Bom dia, estou há duas semanas tentando fazer com que o gráfico chart.js pegue os dados do banco de dados e exiba em tempo real.
Segue meu banco de dados.
CREATE TABLE `tab_clientes` ( `id` int(11) NOT NULL, `data_nascimento` date DEFAULT NULL, `line` varchar(220) NOT NULL, `model` varchar(220) NOT NULL, `wo` varchar(220) NOT NULL, `tool` varchar(220) NOT NULL, `detection_point` varchar(220) NOT NULL, `defect_content` varchar(220) NOT NULL, `causes` varchar(220) NOT NULL, `owner` varchar(220) NOT NULL, `qty` varchar(220) NOT NULL, `ppm` varchar(220) NOT NULL, `action` varchar(220) NOT NULL, `symptom` varchar(220) NOT NULL, `status` varchar(10) DEFAULT NULL, `foto` varchar(200) DEFAULT NULL, `data_cadastro` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `data_alteracao` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
A coluna Symptom ele da resposta Leakage ou Function, gostaria de contabilizar cada um e dar o resultado por semana.
tentei assim... porem não consigo dividir os dias da semana em relação a data selecionada.
Se alguém puder me ajudar. Agradeço muito!!!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.