Jump to content
  • 0
JacsJacob

PHP com MYSQL e Grafico de linha (Chart)

Question

Boa noite pessoal,

estou montando um grafico em tempo real de dados que sao inseridos em uma tabela MYSQL...

Estou com dificuldades de colocar as variaveis do banco de dados em um grafico de linha em javascript ou qualquer outro grafico, desde que seja um grafico de linha que eu consiga atualizar a cada 30 segundos automaticamente com o refresh da pagina (ou refresh do grafico).

Alguem pode me ajudar por favor?

Segue os campos da minha tabela, e o tipo de grafico que preciso criar:

 

mysql> select * from tempdat;

+-----+------------+----------+-----------+-------------+---------+----------------------------+

| id  | tdate      | ttime    | zone      | temperatura | umidade | image                      |

+-----+------------+----------+-----------+-------------+---------+----------------------------+

|   7 | 2017-04-22 | 00:00:07 | principal |          24 |      45 | photo-21-04-2017.23.59.jpg |

|   8 | 2017-04-22 | 00:10:03 | principal |          24 |      45 | photo-22-04-2017.00.09.jpg |

|   9 | 2017-04-22 | 00:20:10 | principal |          24 |      44 | photo-22-04-2017.00.19.jpg |

|  10 | 2017-04-22 | 00:30:03 | principal |          24 |      46 | photo-22-04-2017.00.29.jpg |

|  11 | 2017-04-22 | 00:40:02 | principal |          24 |      44 | photo-22-04-2017.00.39.jpg |

|  12 | 2017-04-22 | 00:50:02 | principal |          24 |      45 | photo-22-04-2017.00.49.jpg |

|  13 | 2017-04-22 | 01:00:02 | principal |          24 |      45 | photo-22-04-2017.00.59.jpg |

|  14 | 2017-04-22 | 01:10:04 | principal |          24 |      46 | photo-22-04-2017.01.09.jpg |

|  15 | 2017-04-22 | 01:20:02 | principal |          26 |      43 | photo-22-04-2017.01.19.jpg |

|  16 | 2017-04-22 | 01:30:02 | principal |          25 |      44 | photo-22-04-2017.01.29.jpg |



os dados de data, tempo (hora), temperatura e umidade preciso incluir em um grafico em uma pagina php onde seja atualizado a cada 30s ou 1 min. (na tabela os dados sao incluidos a cada 10min por enquanto).

Com a pagina abaixo eu consigo imprimir todos esses dados da tabela em uma pagina, utilizando comandos php e mysql... agora como posso colocar isso em um grafico json, javascript ou qualquer um que funcione? alguem pode me ajudar por favor??? ja tentei diversos graficos em javascript e json mas quando tento incluir as variaveis em php tenho problemas, nao estou conseguindo. 

 

$host="localhost";

$username="monitor";

$password="password";

$db_name="temps";

$tbl_name="tempdat";

mysql_connect("$host", "$username", "$password") or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

$pagina=(isset($_GET['pagina']))? $_GET['pagina'] : 1;

$sql="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC";

$data=mysql_query($sql);

$total=mysql_num_rows($data);

$registros=10;

$numPaginas=ceil($total/$registros);

$inicio = ($registros*$pagina)-$registros;

$cmd="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC limit $inicio,$registros";

$data=mysql_query($cmd);

$total=mysql_num_rows($data);

while($row = mysql_fetch_array($data)){

  echo "<tr><td align=center> ";

  echo $row['tdate'] . " </td><td align=center> " . $row['ttime'] . " </td><td align=center> " . 

       $row['temperatura'] . " </td><td align=center> " . $row['umidade'] . " </td><td align=center><a onclick=popupCenter('/camera/" . $row['image'] . "','myPop1','450','450'); href=javascript:void(0);><img src=/camera/" . $row['image'] . " width=60 height=60></a></td>";

  echo "</td></tr>";

}

  echo "</table>"; 

  echo "<p>";

    for($i = 1; $i < $numPaginas + 1; $i++) {

        echo "<font size=2 face=Arial><a href='dados_grafico.php?pagina=$i'>".$i."</a></font> ";

    }

echo "</center>";

mysql_close();

?>

Obrigado desde já pessoal!

Abraços!!

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 1
15 horas atrás, JacsJacob disse:

Obrigado amigo, tentei aqui dar uma lida e pegar alguns exemplos mas está meio complicado.
Tenho problemas em escrever em javascript e colocar as variaveis do array dentro da tag <script>.

 

Tenta usar um plugin para gráficos, eu geralmente uso esse:

 

https://www.highcharts.com/demo/

 

Na documentação e nas demos existem exemplos de gráficos que atualizam com tempo (SEM REFRESH!!), e de todos os tipos que plugins possui, se não conseguir manda um salve que eu passo um exemplo de como preencher o gráfico com JS + PHP.

 

 

  • +1 1

Share this post


Link to post
Share on other sites
  • 1

Tenho um exemplo de um gráfico com esse plugin funcionando recebendo dados json do PHP:

<script>
    $(document).ready(function () {
        var data_a = $('.data_chart_dashboard_fiscal').val();
        var regime = $('.filtro_por_regime_chart_dashboard_fiscal').val();
        $.ajax({
            url: 'callFunctions.php',
            type: 'POST',
            data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'feitos', data_relacionada: data_a},
            async: true,
            dataType: "json",
            success: function (data) {
                var dados = data;

                //var categorias = data['categoria'];
                $.ajax({
                    url: 'callFunctions.php',
                    type: 'POST',
                    data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'nao_feitos', data_relacionada: data_a},
                    async: true,
                    dataType: "json",
                    success: function (data2) {
                        var dados2 = data2;
                        //var categorias = data['categoria'];
                        elementosData(dados, regime, dados2);
                    }
                });
            }
        });
    });
    function elementosData(dados, regime, dados2) {
        if (regime === '3' || regime === '4') {
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sped fical', 'Sped Contrib.', 'DCTF', 'Retenções']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }
        if (regime === '1' || regime === '2') {
           
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sintegra', 'Recibo Simples', 'Difal / DeSTDA', 'PGDAS', 'Retenções / CPOM']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }

    }
</script>

E a parte do php: tem que retornar nesse formato: (Não vou mandar minha parte do php porque vai complicar mais pra você entender)

<?php
//Essas váriaveis possuem os numeros que eu trouxe do banco de dados
if ($resposta == 'feitos') {
                $retorno = "[$total_porc_sintegra,$total_porc_recibo_simples,$total_porc_difal_destda,$total_porc_pgdas,$total_porc_retencoes_cpom]";
            } elseif ($resposta == 'nao_feitos') {
                $retorno = "[$tot_porc_neg_sintegra,$tot_porc_neg_recibo_simples,$tot_porc_neg_difal_destda,$tot_porc_neg_pgdas,$tot_porc_neg_retencoes_cpom]";
            }
           
header("Content-type: text/json");
        echo $retorno;

 

PS: No caso ali eu fiz uma gambiarra com uma requisição ajax dentro da outra pra conseguir cruzar os dados, acredito que exista um modo melhor, mas ainda não parei pra pensar nisso.

 

  • +1 1

Share this post


Link to post
Share on other sites
  • 1

@JacsJacob vou tentar explicar de um prático:

 

 

Primeiro, você não vai declarar as variáveis PHP dentro da tag <script>, o que você vai fazer é uma requisição ajax para um pagina .PHP, e nessa página, a única coisa que ela deve retornar ao ajax é o dados que serão colocados no gráfico, essa página não pode responder nem uma vírgula errada, senão o gráfico não é exibido corretamente.

 

Começa assim, aqui nos fazemos com que a requisição seja chamada quando a pagina com o gráfico for carregada:

 

Citar

 $(document).ready(function () {

 

Após o evento ser disparado, nós fazemos a requisição dos dados:

Citar

$.ajax({
            url: 'pagina_com_os_dados.php',
            type: 'POST',
            async: true,
            dataType: "json",
            success: function (data) {
              var dados = data;
              gerarGrafico(dados);
            }
});

 

 

O arquivo PHP responsável por exibir os dados, deverá devolver algo como isso:

 

Citar

        $retorno = "[10,2,34,25,17]";
            
           
header("Content-type: text/json");
        echo $retorno;

 

 

E depois de ter os dados, nós chamamos a função que executará o gráfico:

 

Citar

function gerarRelatorio(dados) {
       
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['dado 1', 'dado 2', 'dado3', 'dado 4', 'dado 5']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'Dados', data: dados}]
            });
        }

 

 

Acho que não consigo pensar em uma forma melhor de explicar isso kk

  • +1 1

Share this post


Link to post
Share on other sites
  • 0

Obrigado amigo, tentei aqui dar uma lida e pegar alguns exemplos mas está meio complicado.
Tenho problemas em escrever em javascript e colocar as variaveis do array dentro da tag <script>.

Share this post


Link to post
Share on other sites
  • 0

Ainda estou apanhando pra fazer o grafico, alguem consegue dar uma força???

Estou usando este grafico abaixo... com esse codigo eu consigo imprimir na tela (usando php com mysql) os dados que quero que seja apresentado no grafico, porem, nao estou conseguindo colocar as variaveis PHP dentro das tags <script> corretamente, fazendo com que o grafico nao funcione. Alguem poderia ajudar?

 

<?php

 

$host="localhost";

$username="monitor";

$password="password";

$db_name="temps";

$tbl_name="tempdat";

mysql_connect("$host", "$username", "$password") or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

$pagina=(isset($_GET['pagina']))? $_GET['pagina'] : 1;

$sql="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC";

$data=mysql_query($sql);

$total=mysql_num_rows($data);

$registros=10;

$numPaginas=ceil($total/$registros);

$inicio = ($registros*$pagina)-$registros;

$cmd="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC limit $inicio,$registros";

$data=mysql_query($cmd);

$total=mysql_num_rows($data);

 

while($row = mysql_fetch_array($data)){

  echo $row['tdate'] . " " . $row['ttime'] . " " .

       $row['temperatura'] . " " . $row['umidade'] . "<br>";

}

  echo "<p>";

mysql_close();

?>

 

<html>

<head>

                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

                <title>Termometro</title>

 

                <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

                <style type="text/css">

${demo.css}

                </style>

        </head>

        <body>

<script src="https://code.highcharts.com/highcharts.js"></script>

<script src="https://code.highcharts.com/modules/exporting.js"></script>

 

<div id="container" style="min-width: 160px; height: 250px; margin: 0 auto"></div>

 

 

                <script type="text/javascript">

// Data retrieved from http://vikjavev.no/ver/index.php?spenn=2d&sluttid=16.06.2015.

 

Highcharts.chart('container', {

    chart: {

        type: 'spline'

    },

    title: {

       text: 'Dados'

    },

    subtitle: {

        text: 'Gráfico Temperatura e Umidade'

    },

    xAxis: {

        type: 'datetime',

        labels: {

            overflow: 'justify'

        }

    },

    yAxis: {

        title: {

            text: 'Temperatura / Umidade'

        },

        minorGridLineWidth: 0,

        gridLineWidth: 0,

        alternateGridColor: null,

        plotBands: [{ // Light air

            from: 0.3,

            to: 10,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Light breeze

            from: 11,

            to: 22,

            color: 'rgba(0, 0, 0, 0)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Gentle breeze

            from: 23,

            to: 35,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Moderate breeze

            from: 36,

            to: 47,

            color: 'rgba(0, 0, 0, 0)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Fresh breeze

            from: 48,

            to: 60,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Strong breeze

            from: 61,

            to: 75,

            color: 'rgba(0, 0, 0, 0)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // High wind

            from: 76,

            to: 100,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }]

    },

    tooltip: {

        valueSuffix: ' '

    },

    plotOptions: {

        spline: {

            lineWidth: 4,

            states: {

                hover: {

                    lineWidth: 5

                }

            },

            marker: {

                enabled: false

            },

            pointInterval: 300000, // each 5 minutes

        }

    },

 

    series: [{

        name: 'Temperatura Celcius',

        data: [25.2, 26.8, 29.8, 27.8, 27, 28.3, 26.5, 26.9, 25.9, 26.6, 26.6, 26, 26, 26.6, 25.5, 26.2, 26.5, 25.5, 26, 26.1, 26.7, 26, 26.7, 26.3, 26.3, 26.1, 26.7, 26.1, 26.6, 26.1, 26.8, 26.6, 26.2, 26, 26.9, 26.5 ]

 

    }, {

        name: 'Umidade %',

        data: [38, 41, 38.6, 38.9, 38.8, 38.2, 38, 38, 38, 38.1, 40.6, 40.7, 40.8, 40.6, 40.2, 40, 40.1, 43.3, 44.3, 44, 44.1, 44, 44, 44, 44.2, 44.1, 44, 44.3, 44, 44.1, 44.2, 44.1, 44.3, 44.3, 44, 44.1 ]

    }],

    navigation: {

        menuItemStyle: {

            fontSize: '10px'

        }

    }

});

                </script>

        </body>

</html>

<center><a href="dados_grafico.php">Dados</a></center>

 

 

As infos de temperatura e de umidade foram incluidas na mao para testar, o grafico funciona, agora preciso transformar a variavel php em uma variavel que o <script> consiga entender, como eu faço isso?

 

abraços


 

Share this post


Link to post
Share on other sites
  • 0
4 horas atrás, AnthraxisBR disse:

Tenho um exemplo de um gráfico com esse plugin funcionando recebendo dados json do PHP:


<script>
    $(document).ready(function () {
        var data_a = $('.data_chart_dashboard_fiscal').val();
        var regime = $('.filtro_por_regime_chart_dashboard_fiscal').val();
        $.ajax({
            url: 'callFunctions.php',
            type: 'POST',
            data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'feitos', data_relacionada: data_a},
            async: true,
            dataType: "json",
            success: function (data) {
                var dados = data;

                //var categorias = data['categoria'];
                $.ajax({
                    url: 'callFunctions.php',
                    type: 'POST',
                    data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'nao_feitos', data_relacionada: data_a},
                    async: true,
                    dataType: "json",
                    success: function (data2) {
                        var dados2 = data2;
                        //var categorias = data['categoria'];
                        elementosData(dados, regime, dados2);
                    }
                });
            }
        });
    });
    function elementosData(dados, regime, dados2) {
        if (regime === '3' || regime === '4') {
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sped fical', 'Sped Contrib.', 'DCTF', 'Retenções']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }
        if (regime === '1' || regime === '2') {
           
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sintegra', 'Recibo Simples', 'Difal / DeSTDA', 'PGDAS', 'Retenções / CPOM']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }

    }
</script>

E a parte do php: tem que retornar nesse formato: (Não vou mandar minha parte do php porque vai complicar mais pra você entender)


<?php
//Essas váriaveis possuem os numeros que eu trouxe do banco de dados
if ($resposta == 'feitos') {
                $retorno = "[$total_porc_sintegra,$total_porc_recibo_simples,$total_porc_difal_destda,$total_porc_pgdas,$total_porc_retencoes_cpom]";
            } elseif ($resposta == 'nao_feitos') {
                $retorno = "[$tot_porc_neg_sintegra,$tot_porc_neg_recibo_simples,$tot_porc_neg_difal_destda,$tot_porc_neg_pgdas,$tot_porc_neg_retencoes_cpom]";
            }
           
header("Content-type: text/json");
        echo $retorno;

 

PS: No caso ali eu fiz uma gambiarra com uma requisição ajax dentro da outra pra conseguir cruzar os dados, acredito que exista um modo melhor, mas ainda não parei pra pensar nisso.

 


Obrigado pela resposta amigo!

Tenho uma duvida... como eu declaro as variaveis em PHP e depois passo dentro da tag <script> do grafico as variaveis que eu criei??? Estou pecando muito nessa parte... :/


Abraços!!

Share this post


Link to post
Share on other sites
  • 0
2 horas atrás, AnthraxisBR disse:

@JacsJacob vou tentar explicar de um prático:

 

 

Primeiro, você não vai declarar as variáveis PHP dentro da tag <script>, o que você vai fazer é uma requisição ajax para um pagina .PHP, e nessa página, a única coisa que ela deve retornar ao ajax é o dados que serão colocados no gráfico, essa página não pode responder nem uma vírgula errada, senão o gráfico não é exibido corretamente.

 

Começa assim, aqui nos fazemos com que a requisição seja chamada quando a pagina com o gráfico for carregada:

 

 

Após o evento ser disparado, nós fazemos a requisição dos dados:

 

O arquivo PHP responsável por exibir os dados, deverá devolver algo como isso:

 

 

E depois de ter os dados, nós chamamos a função que executará o gráfico:

 

 

 

Acho que não consigo pensar em uma forma melhor de explicar isso kk

 

Cara to tentando aqui mas ta dificil... vamos la...

Estou criando um arquivo só para consulta ao mysql em PHP chamado data.php e o do grafico chama test.php ok???
No codigo data.php estou colocando esses dados para consulta no meu banco de dados para pegar as infos de uma coluna chamada 'temperatura' com 10 registros:

 

$tbl_name="tempdat";
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$pagina=(isset($_GET['pagina']))? $_GET['pagina'] : 1;
$sql="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC";
$data=mysql_query($sql);
$total=mysql_num_rows($data);
$registros=10;
$numPaginas=ceil($total/$registros);
$inicio = ($registros*$pagina)-$registros;
$cmd="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC limit $inicio,$registros";
$data=mysql_query($cmd);
$total=mysql_num_rows($data);
$n=0;
while($row = mysql_fetch_array($data)){
   $retorno[$n] = $row['temperatura'];
   $n++;
}

print_r($retorno);

mysql_close();

 

Este codigo me printa na tela o array com os dados... legal... funciona e me mostra a seguinte saida na pagina:

Array ( [0] => 22 [1] => 21 [2] => 23 [3] => 23 [4] => 21 [5] => 21 [6] => 21 [7] => 20 [8] => 22 [9] => 22 )

 

Agora onde eu declaro as informaçoes que voce me passou? em qual das paginas??? e como ele pega a variavel e qual é a variavel???

 

$(document).ready(function () {

e

 

$.ajax({
            url: 'pagina_com_os_dados.php',
            type: 'POST',
            async: true,
            dataType: "json",
            success: function (data) {
              var dados = data;
              gerarGrafico(dados);
            }
});

Obrigado mais um vez!


Abraçoss

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 Guilherme Scarpatto
      Estou fazendo um website de perguntas e respostas, na qual o usuário adiciona sua pergunta e outros usuários podem respondê-las, basicamente como esse. Eu consegui fazer até a parte que o usuário cadastra a pergunta no banco, agora eu empaquei na parte de mostrar esssas perguntas na tela inicial do site para que outros usuários possam respondê-las. Queria uma ajuda de como posso fazer isso, qualquer coisa posso postar os cógidos aqui depois.
    • By cleriston.melo
      Olá pessoal,
       
      Estou com a seguinte dúvida:
      Preciso impimir as informações de um array criado a partir de uma consulta ao banco de dados, mas preciso imprimir essas informações "quebrada".
      Ex: Nas informações contidas no array, tem cod_exp, controle, serie, cod_prod e quant_prod.
      Eu preciso imprimir as informações por serie.tipo:
       
      Série: 1
      (cod_prod)                     quant_prod
      Produto 1                          10
      Produto 2                          30
      Produto 3                          20
      Produto 4                          50
      ---------------
      Série: 2
      (cod_prod)                     quant_prod
      Produto 1                          10
      Produto 2                          30
      Produto 3                          20
      Produto 4                          50
      ---------------
      etc...
      ----------------------------------------
      O código é esse:
       
      <?php
                      $query_prod_exp = "select * from estoque_expositor where est_exp_cod_exp=$cod_exp and est_exp_ativo='S' order by est_exp_cod_exp";
                      $result_prod_exp = mysqli_query($con, $query_prod_exp) or die(mysqli_error());
                      $row_prod_exp = mysqli_fetch_array($result_prod_exp);
                      
                      $controle = $row_prod_exp['est_exp_controle'];
                      $serie = $row_prod_exp['est_exp_controle'];
                      $cod_prod = $row_prod_exp['est_exp_cod_prod'];
                      $saldo_atual = $row_prod_exp['est_exp_quant_prod'];
                      
                          // ESCREVE UMA LINHA NA TABELA
                          echo "<tr>";
                      
                          // ESCREVE UMA COLUNA NA TABELA E EXIBE O NOME DO PRODUTO
                          echo "<td>";
                          $query_prod = "select * from produtos where prod_id=$cod_prod";
                          $result_prod = mysqli_query($con, $query_prod) or die(mysqli_error());
                          while ($row_prod = mysqli_fetch_array($result_prod)) {
                              $prod = $row_prod['prod_nome'];
                              echo $prod."</td>";
                          }
                          echo "<td>" . $saldo_atual . "</td>";
                          echo "</tr>";
                  ?>
       
      Obrigado a todos pela ajuda...
    • By Ted2370
      Primeiro, eu sou leigo no assunto e estou tentando aprender sobre funções criando um programa básico!
      O problema é que estou tentando fazer uma condição que:
      Ao apertar o botão: Abrir Caixa, a ideia é que apareça um alert na tela dizendo que o caixa foi aberto. até aí tudo bem.
      Mas queria que, ao pressionar o botão novamente, ele fechasse o caixa.
      Pra isso tentei utilizar a própria string do que, quando estivesse escrito 'Caixa Fechado', ele abriria, e quando estivesse 'Caixa Aberto' ele fecharia
      o problema é que eu não sei por que o meu js não ta reconhecendo o que está escrito na string, só reconhece que é uma string. (quando tento o mesmo código no node exec, ele funciona) :(
      ta aí os Códigos:
      <!DOCTYPE html> <html lang="pt-BR"> <head> <link rel="stylesheet" href="estilos.css"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Caixa</title> </head> <body> <div class="lateral" > <h1 class="" name="txtest" id="estado">Caixa Aberto</h1> <input type="number" name="txtinit" id="txtinit" class="txtinit"> <input type="button" value="Abrir Caixa" onclick="abrir()" class="open" id="abrir"> </div> <script src="./main.js"></script> </body> </html> const { app, BrowserWindow } = require('electron') function createWindow() { let win = new BrowserWindow({ width: 1360, height: 720, fullscreen: false, frame: true, webPreferences: { nodeIntegration: false } }) win.loadFile('index.html') win.removeMenu('index.html') } function abrir() { var estate = window.document.getElementById('estado') if (estate == 'Caixa Aberto') { estate = 'Caixa Aberto' window.alert("O caixa foi Aberto!") } else { estate = 'Caixa Fechado' window.alert("O caixa foi Fechado!") } } app.on('ready', createWindow) body{ background: rgba(231, 223, 206, 0.37); } .word{ background: red; } .txtinit{ font-variant-numeric: tabular-nums; height: 20px; width: 200; background: rgba(231, 223, 206, 0.37); } .open{ height: 60px; width: 200px; margin-top: 500px; } .lateral{ text-align: center; background: rgba(0, 0, 0, 0.74); margin-top: 20px; height: 670px; width: 250px; }  
    • By rtavix
      Estou realizando uma implementação de um determinado relatório, e implementei a estrutura(html da pagina) do mesmo dinamicamente, entretanto quando vou tentar imprimir ele com os dados preenchidos o mesmo não abre uma aba a parte mostrando toda essa estrutura da pagina. Estou tentando fazer via JavaScript, porém não funciona. meu ação do clique do botão de imprimir é esse:
      <div class="box-footer"> <button class="btn btn-padrao" id="btnImprime" runat="server" visible="false" onserverclick="btnImprimir_ServerClick">Imprimir</button></i>Novo</button> </div> Meu javaScript é esse:
      function Imprimir() { var panel = document.getElementById("ConteinerImprimir"); var printWindow = window.open('', '', ''); printWindow.document.write('<html><head><script src="JsRelatorioFinanciamento.js"></script>'); printWindow.document.write('<link href="../StyleJs.RelFinanciamento.css" rel="stylesheet"/>'); printWindow.document.write('</head><body>'); printWindow.document.write('<div class="conteiner" style="width: 700px">' + panel.innerHTML + '</div>'); printWindow.document.write('</body></html>'); printWindow.document.close(); setTimeout(function () { printWindow.print(); }, 500); return false; e meu código .cs que realiza a implementação da estrutura da pagina em html dinâmico é esse: 
      #region html #region Header private string header = @" <table style = 'margin-bottom: 0px;'> <tr id='topLogo'> <img src = 'http://internet.sefaz.es.gov.br/imagens/topo_brasao.png' alt=''> <td style = 'border: 0px; padding-bottom: 5px;'> <h2 style='margin-top: 15px;' class='center'> TESTE 1 </h2> <h3 style = 'margin-top: 15px;' class='center'> TESTE 2 - 2<br/> </h3> <h3 style = 'margin-top: 15px;' class='center'> TESTE 3<br/> </h3> <h3 style = 'margin-top: 15px;' class='center'> FINANCIAMENTO LIBERADO - TODAS EMPRESAS<br/> </h3> <h3 style = 'margin-top: 15px;' class='center'> Base {1}<br/> </h3> <h1 style = 'margin-top: 15px;' class='left'> EmpresasTESTE4 - {2}<br/> </h1> </td> </tr> </table>"; #endregion #region Conteudo private const string dadosFinanciamento = @" <table style='padding: 0px; margin: 0px;' class='no-bold'> <tr class='tr-center'> <tr> <td colspan = '4' > Razão Social <h4> {0}</h4> </td> </tr> <tr> <td>Inscrição Estadual <h4 class='center'>{1}</h4> </td> <td colspan ='2'> C.N.P.J <h4> {2} </h4> </td> <td colspan='2'>Nome Fantasia <h4>{3}</h4> </td> </tr> </table> <br/>"; #endregion #region ValoresFin private const string dadosValores = @" <table style='padding: 0px; margin: 0px;'class='no-bold'> <tr> <td rowspan = '3' style=border-bottom: 3px solid black> <h5>Faturamento Dezembro 2014</h5> <h4>Saldo</h4> </td> <td class='center'> <h2>ICMS Previsto</h2> </td > <td class='center'> <h2>ICMS Recolhido</h2> </td> <td class='center'> <h2>Contratado</h2> </td> <td class='center'> <h2>Liberado</h2> </td> </tr> <tr> <td class='center'> {0} </td> <td class='center'> {1} </td> <td class='center'> {2} </td> <td class='center'> {3} </td> </tr> </table> <br/>"; #endregion #endregion e estou utilizando o StringBuilder:
      StringBuilder strConstrution = new StringBuilder(); Alguém saberia me instruir como eu posso fazer para conseguir visualizar meu relátorio por completo?
×

Important Information

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