У меня есть php-страница для получения данных sqlight.
Нижняя часть является важной, в которой я подготовил ее для построения графика Флота (временная метка эпохи Unix как данные временных рядов в массиве).
Что я делаю неправильно? Пожалуйста посоветуй.
echo json_encode ($ dataset1) в части php
дает:
[1320710855000,44] [1320711755000,46] [1320712655000,44] [1320713555000,42] [1320714456000,56] ..
и Chromes Resources показывают:
script type = "text / javascript">
var kurve = [1320774758000,72];
<?php
error_reporting(E_ALL);
try {
/*** DB erstellen ***/
$dbh = new PDO('sqlite:/var/www/zaehler/inc/db/zaehler.sqlite');
/*** set all errors to excptions ***/
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$startdate=startdate();
$sql = "SELECT date FROM energielog ORDER BY OID DESC LIMIT 1";
$result = $dbh->query($sql);
foreach($result as $row) {
if ($row['date']!=$startdate) {
$startdate=$row['date'];
}
}
$sql = "SELECT kwh, peak, OID, date, time FROM energielog WHERE date >=".$startdate." ORDER BY OID ASC";
$result = $dbh->query($sql);
foreach($result as $row) {
$oid=$row['OID']-1;
$sql2 = "SELECT kwh FROM energielog WHERE oid <".$oid." ORDER BY OID DESC LIMIT 1";
$result2 = $dbh->query($sql2);
foreach($result2 as $row2) {
$letzter_eintrag=str_replace(",",".",$row2['kwh']);
}
$aktueller_eintrag=str_replace(",",".",$row['kwh']);
$eintrag=round(($aktueller_eintrag-$letzter_eintrag)*1000/0.5,0);
$peak=$row['peak']*1000;
$time=str_pad($row['time'],6,'0',STR_PAD_LEFT);
$times=substr($time,0,2).":".substr($time,2,2);
$timeStamp=mktime(
substr($time,0,2),
substr($time,2,2),
substr($time,4,2),
substr($startdate,2,2),
substr($startdate,4,2),
substr($startdate,0,2)
);
$dataset1 = array(($timeStamp)*1000, $eintrag);
echo json_encode($dataset1);
}
}
catch(Exception $e)
{
echo $e->getMessage();
die();
}
?>
<div id="placeholder" style="width:600px;height:300px;"></div>
<script type="text/javascript">
var kurve = <?php echo json_encode($dataset1); ?>;
$(function () {
$.plot($("#placeholder"), [kurve], { xaxis: { mode: "time", timeformat: "%y/%m/%d/%H:%M"} });
});
</script>