Ir para conteúdo
Fórum Script Brasil
  • 0

Grafico Chart.js mysql


Gregore Cruzeiro

Pergunta

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!!!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...