Právě je 27 dub 2024 00:45

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




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 09:32 

Registrován:
06 úno 2021 09:24
Příspěvky:
1
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 09:32 
C4 podpora
Administrátor

Registrován:
23 čer 2009 12:44
Příspěvky:
312
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 [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvní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-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz