| Autor | Zpráva | ||
|---|---|---|---|
| Filip Macháček Profil |
#1 · Zasláno: 5. 11. 2016, 20:07:19
Zdravim dnes jsem našel že google má své API na grafy a chtěl jsem ho využít ale nastal problém s přenosu informací mezi JS a PHP myslel jsem že to vyřeším takhle :
$vysledek = mysqli_query($link, "SELECT * FROM graf_teploty ");
while ($zaznam = mysqli_fetch_array($vysledek) ){
$id = $zaznam["id"];
$hodnota = $zaznam["hodnota"];
$output = $output + "[" + $id + ", " + $hodnota + "], ";
}
?>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js">
</script>
<script>
google.charts.load('current', {packages: ['corechart', 'line']});
google.charts.setOnLoadCallback(drawBasic);
function drawBasic() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'X');
data.addColumn('number', 'Dogs');
data.addRows([
<?php
echo json_encode($output);
?>
]);
var options = {
hAxis: {
title: 'Time'
},
vAxis: {
title: 'Popularity'
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
<html>
<div id="chart_div"></div>
</html>
data.addRows([ <?php echo json_encode($output); ?> ]); |
||
| mckay Profil |
#2 · Zasláno: 5. 11. 2016, 20:30:15
Filip Macháček:
V php části vytvořte pole v takovém formátu, jako ho očekává data.addRows(), dle dokumentace, to bude něco ve stylu: [ ['Work', 11], ['Eat', 2], ['Commute', 2], ['Watch TV', 2], ['Sleep', {v:7, f:'7.000'}] ]Váš kód by mohl vypadat nějak takto: // Připravím si pole
$output = [];
while ($zaznam = mysqli_fetch_array($vysledek) ){
$id = $zaznam["id"];
$hodnota = $zaznam["hodnota"];
$output[] = [ $id , $hodnota ]; // A pak do toho pole strkám další pole
}Tam kde teď vypisujete json_encode($output); to nechte všechno stejné a mělo by to začít fungovat.
|
||
| Filip Macháček Profil |
#3 · Zasláno: 5. 11. 2016, 20:47:57
PHP IDE si stěžuje na Tohle a nefunguje ...:
$output = [];
|
||
| Rfilip Profil |
#4 · Zasláno: 6. 11. 2016, 08:32:38
Doporučuju upgradenout verzi PHP, protože tento způsob tvorby polí byl přidaný do PHP verze 5.4.0, která vyšla na jaře 2012.
|
||
|
Časová prodleva: 10 let
|
|||
0