Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rd111072

MYSQL + Morris chart

Recommended Posts

Olá, moçada!

Tenho esse gráfico aqui: http://riocir.com.br/renan/chart_barg_g2.php 
Mas ele exibe só os dias da semana do mês 1. Queria que ele exibisse todos os dias de todos os meses (como é o resultado do echo).

Segue o código. Alguém pode me ajudar?
 

Citar

<!DOCTYPE html>
<html>
 <head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="css/morris.css">
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
  <script src="js/raphael-min.js"></script>
  <script src="js/morris.min.js"></script>
  
 </head>
 <body>
  <br /><br />
  <div class="container" style="width:100%;font-family:Arial;">
   
   <h3 align="center">G2 Resultado Acumulado Por Dia da Semana Nos Últimos 120 dias</h3>   
   <br /><br />
<?php 
//index.php
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
//error_reporting(E_ALL);

$host = "186.202.152.171"; //Servidor do mysql
$user = "midiavip"; //Usuario do banco de dados
$password = "rd111072"; //senha do banco de dados
$db = "midiavip"; //banco de dados

$dt_menosdias = date('d/m/Y', strtotime('-120 days'));

$connect = mysqli_connect($host, $user, $password,$db) or die (mysqli_error());

$query0 = "SELECT MONTH(str_to_date(DATA, '%d/%m/%Y')) as mes FROM tabelapai 
WHERE str_to_date(DATA, '%d/%m/%Y') >= str_to_date('$dt_menosdias', '%d/%m/%Y') 
AND INDIC = '1' 
GROUP BY MONTH(str_to_date(DATA, '%d/%m/%Y')), DIASEM 
ORDER BY MONTH(str_to_date(DATA, '%d/%m/%Y'))";
$result0 = mysqli_query($connect, $query0);

$num = mysqli_num_rows($result0);

while($row0 = mysqli_fetch_array($result0))
{
$mes = $row0["mes"];


$query = "SELECT
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '1' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as dom, 
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '2' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as seg, 
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '3' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as ter, 
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '4' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as qua, 
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '5' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as qui,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '6' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as ---,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '7' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as sab,
MONTH(str_to_date(DATA, '%d/%m/%Y')) as mes
FROM tabelapai
WHERE str_to_date(DATA, '%d/%m/%Y') >= str_to_date('23/10/2018', '%d/%m/%Y') 
AND INDIC  ='1'
AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' 
GROUP BY DIASEM
ORDER BY MONTH(str_to_date(DATA, '%d/%m/%Y'))
LIMIT 1";
//echo $query."<br>";
$result = mysqli_query($connect, $query);
$chart_data = '';

while($row = mysqli_fetch_array($result))
{ 
 $chart_data = "{ mes:'".$row["mes"]."', dom:".$row["dom"].", seg:".$row["seg"].", ter:".$row["ter"].", qua:".$row["qua"].", qui:".$row["qui"].", ---:".$row["---"].", sab:".$row["sab"]."}, ";
 echo $chart_data; 
}

}

?>

<div id="chart"></div>   

<script>
Morris.Bar({
 element : 'chart', 
 data:[<?php echo $chart_data;?>],
 xkey:'mes',
 ykeys:['dom','seg','ter','qua','qui','---','sab'],
 labels:['dom','seg','ter','qua','qui','---','sab'],
 hideHover:'auto',
 stacked:false
});
</script>

</div>

</body>
</html>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por ILR master
      Fala galera, tudo certo?
       
      Seguinte: No servidor A estou tentando fazer uma consulta com o servidor B, mas está dando erro.
      Estou usando o mesmo código de conexão do servidor B que funciona perfeitamente, mas no servidor A, dá erro.
      Segue código:
       
      $host = 'servidor B';
      $user = 'user';
      $pass = '********';
      $db   = 'banco';
       
      // conexão e seleção do banco de dados
      $conexao = mysqlI_connect($host, $user, $pass, $db);
      mysqlI_set_charset($conexao,"utf8");
      //print "Conexão rodando e OK!"; 
      //mysqlI_close($conexao);
       
      Alguém pode me ajudar?
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.