Ir para conteúdo

Arquivado

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

AliniMachado

Google Charts + Mysql+PHP(N gráficos com N Tabelas)Problema Básico de Lógica.

Recommended Posts

Bom dia! Por favor me ajudem! Tenho problemas com lógica.Tenho certeza que não posso usar o for 9 vezes. O sistema de gráfico funciona, o problema surge quando vou adicionar o segundo for. Nesse código só fui até a segunda tabela e são 9. Vou cita-lo nas referências de meu trabalho 

A parte do código que estou com problema é essa:

 <?php
            $k = $i;
            for ($i = 0; $i < $k; $i++) {
            ?>
            data.setValue(<?php echo $i ?>, 0, '<?php echo $ano[$i] ?>');
            data.setValue(<?php echo $i ?>, 1, <?php echo $Numero_de_pacientes_HIV_em_tratamento[$i] ?>);
            <?php
            }
            ?>
  Tento dar continuidade criando $k1 e $i1 porém tenho certeza que não pode.

Abaixo o código completo
<?php
$host = "localhost";
$user = "root";
$pass = "";
$banco = "sida";
$conexao = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($banco) or die (mysql_error());

#declaracao grafico Numero_de_pacientes_HIV_em_tratamento
$Ano = array();
$Numero_de_pacientes_HIV_em_tratamento = array();

$i = 0;
$sql = "SELECT * FROM sage_nphvitrat";
$resultado = mysql_query($sql); 
while ($row = mysql_fetch_object($resultado)){
    $ano[$i] = $row->ano;
 $Numero_de_pacientes_HIV_em_tratamento[$i] = $row->Numero_de_pacientes_HIV_em_tratamento;
 $i = $i + 1;
}

#declaraçao grafico 2
$ano1 = array();
$Branca = array();
$Amarela = array();
$Ignorada = array();
$Indigena = array();
$Parda = array();
$Preta = array();
$i1 = 0;
$sql1 = "SELECT * FROM sage_pcsrc";
$resultado1 = mysql_query($sql1); 
while ($row = mysql_fetch_object($resultado1)){
    $ano1[$i1] = $row->Ano_pcsrc;
    $Branca[$i1] = $row->Branca;
    $Amarela[$i1] = $row->Amarela;
    $Ignorada[$i1] = $row->Ignorada;
    $Indigena[$i1] = $row->Indigena;
    $Parda[$i1] = $row->Parda;
    $Preta[$i1] = $row->Preta;
    $i1 = $i1 + 1;
}
?>    

<html>
      <head>
        <!--Load the AJAX API-->
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>
        <script type="text/javascript">

          // Load the Visualization API and the piechart package.
          google.load('visualization', '1.0', {'packages':['corechart']});

          // Set a callback to run when the Google Visualization API is loaded.
          google.setOnLoadCallback(drawChart);

          // Callback that creates and populates a data table,
          // instantiates the pie chart, passes in the data and
          // draws it.
          function drawChart() {

            // Create the data table.
            var data = new google.visualization.DataTable();
            data.addColumn('string', 'ano');    
            data.addColumn('number', 'Numero_de_pacientes_HIV_em_tratamento');
            data.addRows(<?php echo $i ?>);
            // Create the data table.
            var data2 = new google.visualization.DataTable();
            data2.addColumn('string', 'ano1');
            data2.addColumn('number', 'Branca');
            data2.addColumn('number', 'Amarela');
            data2.addColumn('number', 'Ignorada');
            data2.addColumn('number', 'Indigena');
            data2.addColumn('number', 'Parda');
            data2.addColumn('number', 'Preta');
            data2.addRows(<?php echo $i1 ?>);
            // Create the data table.
            var data3 = new google.visualization.DataTable();
            data3.addColumn('string', 'Year');
            data3.addColumn('number', 'Sales');
            data3.addColumn('number', 'Expenses');
            data3.addRows([
              ['2004', 1000, 400],
              ['2005', 1170, 460],
              ['2006',  860, 580],
              ['2007', 1030, 540]
            ]);
            // Create the data table.
            var data4 = new google.visualization.DataTable();
            data4.addColumn('string', 'Topping');    
            data4.addColumn('number', 'Slices');
            data4.addRows([
              ['Mushrooms', 3],
              ['Onions', 1],
              ['Olives', 1],
              ['Zucchini', 1],
              ['Pepperoni', 2]
            ]);
            // Create the data table.
            var data5 = new google.visualization.DataTable();
            data5.addColumn('string', 'Topping');
            data5.addColumn('number', 'Slices');
            data5.addRows([
              ['Mushrooms', 3],
              ['Onions', 1],
              ['Olives', 15],
              ['Zucchini', 1],
              ['Pepperoni', 2]
            ]);
            // Create the data table.
            var data6 = new google.visualization.DataTable();
            data6.addColumn('string', 'Year');
            data6.addColumn('number', 'Sales');
            data6.addColumn('number', 'Expenses');
            data6.addRows([
              ['2004', 1000, 400],
              ['2005', 1170, 460],
              ['2006',  860, 580],
              ['2007', 1030, 540]
            ]);
            // Create the data table.
            var data7 = new google.visualization.DataTable();
            data7.addColumn('string', 'Topping');    
            data7.addColumn('number', 'Slices');
            data7.addRows([
              ['Mushrooms', 3],
              ['Onions', 1],
              ['Olives', 1],
              ['Zucchini', 1],
              ['Pepperoni', 2]
            ]);
            // Create the data table.
            var data8 = new google.visualization.DataTable();
            data8.addColumn('string', 'Topping');
            data8.addColumn('number', 'Slices');
            data8.addRows([
              ['Mushrooms', 3],
              ['Onions', 1],
              ['Olives', 15],
              ['Zucchini', 1],
              ['Pepperoni', 2]
            ]);
            // Create the data table.
            var data9 = new google.visualization.DataTable();
            data9.addColumn('string', 'Year');
            data9.addColumn('number', 'Sales');
            data9.addColumn('number', 'Expenses');
            data9.addRows([
              ['2004', 1000, 400],
              ['2005', 1170, 460],
              ['2006',  860, 580],
              ['2007', 1030, 540]
            ]);
            <?php
            $k = $i;
            for ($i = 0; $i < $k; $i++) {
            ?>
            data.setValue(<?php echo $i ?>, 0, '<?php echo $ano[$i] ?>');
            data.setValue(<?php echo $i ?>, 1, <?php echo $Numero_de_pacientes_HIV_em_tratamento[$i] ?>);
            <?php
            }
            ?>
            // Set chart options
            var options = {'title':'NÚMERO DE PACIENTES HIV EM TRATAMENTO',
                           'width':400,
                           'height':300,
                           'colors':['red']
                           };
            // Set chart options
            var options2 = {'title':'Pacientes por Raça e Cor',
                           'width':400,
                           'height':300};
            // Set chart options
            var options3 = {'title':'3',
                           'width':400,
                           'height':300};
            // Set chart options
            var options4 = {'title':'4',
                           'width':400,
                           'height':300};
            // Set chart options
            var options5 = {'title':'5',
                           'width':400,
                           'height':300};
            // Set chart options
            var options6 = {'title':'6',
                           'width':400,
                           'height':300};
            // Set chart options
            var options7 = {'title':'7',
                           'width':400,
                           'height':300};
            // Set chart options
            var options8 = {'title':'8',
                           'width':400,
                           'height':300};
            // Set chart options
            var options9 = {'title':'9',
                           'width':400,
                           'height':300};


            // Instantiate and draw our chart, passing in some options.
            var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
            chart.draw(data, options);
            var chart2 = new google.visualization.ColumnChart(document.getElementById('chart_div2'));
            chart2.draw(data2, options2);
            var chart3 = new google.visualization.ColumnChart(document.getElementById('chart_div3'));
            chart3.draw(data3, options3);
            var chart4 = new google.visualization.ColumnChart(document.getElementById('chart_div4'));
            chart4.draw(data4, options4);
            var chart5 = new google.visualization.ColumnChart(document.getElementById('chart_div5'));
            chart5.draw(data5, options5);
            var chart6 = new google.visualization.ColumnChart(document.getElementById('chart_div6'));
            chart6.draw(data6, options6);
            var chart7 = new google.visualization.ColumnChart(document.getElementById('chart_div7'));
            chart7.draw(data7, options7);
            var chart8 = new google.visualization.ColumnChart(document.getElementById('chart_div8'));
            chart8.draw(data8, options8);
            var chart9 = new google.visualization.ColumnChart(document.getElementById('chart_div9'));
            chart9.draw(data9, options9);
          }
        </script>
      </head>

      <body>

        <!--Divs that will hold the charts-->
        <div id="chart_div"></div>
        <div id="chart_div2"></div>
        <div id="chart_div3"></div>
        <div id="chart_div4"></div>
        <div id="chart_div5"></div>
        <div id="chart_div6"></div>
        <div id="chart_div7"></div>
        <div id="chart_div8"></div>
        <div id="chart_div9"></div>
        </body>
    </html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está um pouco confuso para entender.
Você recebe erro na tela? Você pode usar qts for você quiser. Mude os parâmetros para a logica funcionar.

Usou $i / $k / $j no primeiro for e no for interno use $p / $m / $h e por ai vai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

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