Jump to content
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>

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By terra
      Olá,
       
      Preciso pegar o valor desse select
       
       
       aqui nessa query
       
       
      Agradeço qualquer ajuda
    • By violin101
      Caros amigos, saudações...
       
      Gostaria de tirar uma dúvida com os amigos se tem a possibilidade de fazer e como fazer.
       
      A pasta MODELS tem como fazer separado como a pasta CONTROLLERS, por exemplo:
       
      a pasta controller consigo fazer assim: PASTA e SUBPASTAS.
       
      controller
      |__ Admin
      |_____ Estoque
      |_______ Financeiro
       
      na pasta Models, fica tudo junto as funções, como por exemplo:
      admin_model.php
      caixa_model.php
      vendas_model.php
      e etc
       
      na Models, tem como fazer como na pasta controller, assim:
      |__ Admin
           |__ admin_model.php
      |_____ Estoque
                 |__ estoque_model.php
      |_______ Financeiro
                    |__ caixa_model.php
       
      para chamar uma função no controller, faço desta forma: 
      <?php $this->load->model('categorias_model'); $this->data['categorias'] = $this->categorias_model->getActive('categorias', 'categorias.idCategorias,categorias.categoria'); ?>  
      Conforme minha dúvida acima, como seria o caminho para chamar esta função:   
      $this->load->model('categorias_model');
       
       
      Grato,
       
      Cesar
    • By Samuel Pietro
      Tenho um select em PDO e preciso que a consulta retornada vire uma variavel, mas a variavel só pega a ultima linha da tabela e eu preciso que pegue todas as linhas que existirem.
       
      $conexao = conexao::getInstance(); $sql = 'SELECT * FROM RegistroE'; $stm = $conexao->prepare($sql); $stm->execute(); $Sql = $stm->fetchAll(PDO::FETCH_OBJ); foreach ($Sql as $SqlReg): $conteudo_meio = picture_X($SqlReg->E_01,1) .picture_X($SqlReg->E_02,25) .picture_9($SqlReg->E_03,4) .picture_X($SqlReg->E_04,14) .picture_9($SqlReg->E_05,8) .picture_9($SqlReg->E_06,8) .picture_9($SqlReg->E_07,8) .picture_9($SqlReg->E_08,8) .picture_9($SqlReg->E_09,8) .complementoRegistro(96,"brancos") .picture_9($SqlReg->E_11,1) .complementoRegistro(1,"brancos") ; endforeach; Como eu poderia está fazendo isto?
    • By peterstefan
      Bom dia, estou fazendo uma cadastro via rest e estou utilizando o curl para cadastrar no webservice...
      Meu código está cadastrando tudo certinho, porem quando ele cadastra e mostra o retorno que foi cadastrado com sucesso ele fica o AGUARDE, CARREGANDO e não para.. não sei oque esta faltando pq já tentei varias coisas e não deu certo... 
       
       
       
      $Data = [ "nomeRazaoSocial" => $PostData['nomeRazaoSocial'], "identMF" => $PostData['identMF'], "email" => $PostData['email'], "telefone" => $PostData['telefone'], "senhaProvisoria" => $PostData['senhaProvisoria'] ]; $DataString = json_encode($Data); $curl = curl_init(WEBSERVICECADASTRO); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POSTFIELDS, $DataString); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($DataString)) ); $result = curl_exec($curl); if ($result) { $jSON['success'] = "<i class='icon-checkmark'></i>Pronto, cadastro foi realizado com sucesso!"; }else{ $jSON['error'] = "<i class='icon-warning'></i>Oops! Erro ao cadastrar! Por favor, tente novamente!"; }  

       

    • By RSN
      Boa Noite,
      Preciso enviar uma consulta sql no corpo do e-mail, porém não estou conseguindo concatenar o laço while.
      <?php include_once('conexao.php'); require 'PHPMailer/PHPMailerAutoload.php'; $resultado = mysql_query("SELECT * FROM cupom WHERE FlagEstorno = 1;"); $linhas = mysql_num_rows($resultado); $mensagem = '<div class="x_content"> <table id="datatable-buttons" class="table table-striped table-bordered"> <thead> <tr> <th>Loja</th> <th>Nro Cupom</th> <th>Data</th> <th>Operador</th> </tr> </thead> <tbody> while($linhas = mysql_fetch_array( $resultado)){ echo " <tr>"; echo "<td>".$linhas['nroloja']."</td>"; echo "<td>".$linhas['NroCupom']."</td>"; echo "<td>".$linhas['DataProc']."</td>"; echo "<td>".$linhas['Operador']."</td>"; echo " </tr>"; }'; $mail = new PHPMailer(); $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->SMTPSecure = 'tls'; $mail->Username = ''; $mail->Password = ''; $mail->Port = 587; $mail->setFrom(''); $mail->addReplyTo(''); $mail->addAddress('', 'Nome'); $mail->isHTML(true); $mail->Subject = 'Assunto do email'; $mail->Body = $mensagem; $mail->AltBody = 'Para visualizar essa mensagem acesse http://site.com.br/mail'; //$mail->addAttachment('/tmp/image.jpg', 'nome.jpg'); if(!$mail->send()) { echo 'Não foi possível enviar a mensagem.<br>'; echo 'Erro: ' . $mail->ErrorInfo; } else { echo 'Mensagem enviada.'; } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.