Ich verwende chart.js, um Diagramme auf meiner Seite zu generieren. Allerdings möchte ich diese Diagramme von meiner SQL-Datenbank gefüllt werden. Ich bin in der Lage, meine Daten aus meiner Datenbank zu bekommen, aber ich werde das Diagramm nicht zeichnenWie befüllen Sie chart.js mit SQL-Daten?
Ich habe eine Leinwand auf meiner Hauptseite namens "OmzetChart", das ist, wo das Diagramm kommen sollte.
<script>
$.ajax({
type: 'POST',
url: 'templates/getdata.php',
success: function (data) {
lineChartData = data;
//alert(JSON.stringify(data));
var ctx = document.getElementById("OmzetChart").getContext("2d");
var myLineChart = new Chart(ctx, {
type: 'line',
data: lineChartData
});
}
});
</script>
Die Seite von GetData.php Ergebnisse in der folgenden (Dies ist, was ich brauche, will es einfach in mein Diagramm):
[{"dag":"23","0":"23","uur":"13","1":"13","SomOmzet":"23.00","2":"23.00"},{"dag":"23","0":"23","uur":"18","1":"18","SomOmzet":"2.50","2":"2.50"}]
Getdata.php:
<?php
include ("../PDO.php");
$conn = DatabasePDO::getInstance();
$sql = "SELECT DATEPART(DD, receiptdatetime) as dag ,DATEPART(hh, receiptdatetime) as uur, ISNULL(abs(cast(sum(NetAmount) as decimal (10,2))),0) as SomOmzet FROM ReceiptLine a , Receipt b, ReceiptLineDetail c
where a.LineType = 200 and a.receiptID = b.receiptid and a.receiptlineID = c.receiptlineID
group by DATEPART(DD, receiptdatetime), DATEPART(hh, receiptdatetime)";
$st = $conn->prepare($sql);
$st->execute();
$list = array();
while ($row = $st->fetch()) {
$list[] = $row;
}
$conn = null;
echo json_encode($list);
?>
Nun, Sie haben das Ajax-Tag drin, also nehme ich an, Sie wissen über Ajax. Warum gibt es keine Ajax-Anfrage, um Daten in Ihrem Code zu erhalten? – Ozan
@ozan, ich habe viele Male versucht, aber ich bekomme es nie zur Arbeit. Deshalb frage ich hier – Steven
Haben Sie versucht, einen Ajax-Anruf zu machen? Wenn ja, teile bitte deinen Ajax-Code. Wenn nicht, dann solltest du anfangen. – Ozan