Právě je 09 bře 2021 01:15

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 
Autor Zpráva
 Předmět příspěvku: PHP+MySQL+Google Charts
PříspěvekNapsal: 06 úno 2021 08:32 

Registrován:
06 úno 2021 08:24
Příspěvky:
2
Ahoj všem,
rád bych načetl z MySQL hodnoty Timestamp a Value(INT) a ty zobrazil v grafu. Rád bych použil Google Charts. Když vykreslím klasický Line Chart, je to ok. Ale vzhledem k dlouhodobému měření potřebuji využít Annotation chart, kde si mohu zoomovat a posouvat v čase. A tady je ten problém, že to nedokážu zprovoznit.
Výsledek mám zatím takový: http://vibroguard.cz/test/chart.php
V databázi mám dva sloupce, první DateTime ve formátu 2021-02-05 19:55:34 a druhý Value1 ve formátu čísla INT.
Neměl byste s tím někdo zkušenost, popřípadě mi říci, kde mám v kódu chybu?
Díky za každou radu, případné doporučení jak takový graf udělat.

Kód:
<?php
//index.php
$connect = mysqli_connect("server", "user", "pass", "db");
$query = '
SELECT Value1,
UNIX_TIMESTAMP(CONCAT_WS(" ", DateTime)) AS datetime
FROM SAVE_DATA

';
$result = mysqli_query($connect, $query);
$rows = array();
$table = array();

$table['cols'] = array(
array(
  'label' => 'DateTime',
  'type' => 'datetime'
),
array(
  'label' => 'Value1',
  'type' => 'number'
)
);

while($row = mysqli_fetch_array($result))
{
$sub_array = array();
$datetime = explode(".", $row["datetime"]);
$sub_array[] =  array(
      "v" => 'Date(' . $datetime[0] . '000)'
     );
$sub_array[] =  array(
      "v" => $row["Value1"]
     );
$rows[] =  array(
     "c" => $sub_array
    );
}
$table['rows'] = $rows;
$jsonTable = json_encode($table);

?>


<html>
<head>
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type='text/javascript'>
      google.charts.load('current', {'packages':['annotationchart']});
      google.charts.setOnLoadCallback(drawChart);
   function drawChart()
   {
    var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);

    var options = {
     title:'Sensors Data',
     legend:{position:'bottom'},
     chartArea:{width:'95%', height:'65%'}
    };

   

    var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div'));
        var options = {
          displayAnnotations: true
        };

    chart.draw(data, options);
   }
  </script>
  <style>
  .page-wrapper
  {
   width:1000px;
   margin:0 auto;
  }
  </style>
</head> 
<body>
  <div class="page-wrapper">
   <br />
   
   <div id="chart_div" style="width: 100%; height: 500px"></div>
  </div>
</body>
</html>


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PHP+MySQL+Google Charts
PříspěvekNapsal: 06 úno 2021 08:32 
C4 podpora
Administrátor

Registrován:
23 čer 2009 11:44
Příspěvky:
137
Dobrý den,

jelikož jste nebyl identifikován jako zákazník Webhostingu C4, pro který je diskuzní fórum určeno, Váš dotaz není brán jako prioritní. Pokud bude téma delší dobu bez reakce, dojde k jeho odstranění.

_________________
Webhosting C4
http://www.c4.cz


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PHP, MySQL Hosting
Návody pro C4

© 2009-2021 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz