Weboldalon adatbázisból grafikon?
Egy weboldalon ha létrehoztam egy grafikont, ami azt mutatja meg, hogy pl egy adatbázishoz melyik nap hány sort adtak hozzá. Az adatbázisban minden sorban a 'datum' nevű cella tartalmazza a dátumot, amikor az adat hozzá lett adva az adatbázishoz.
És van ez a grafikon ezzel a kóddal:
Hogyan tudnám megoldani, hogy minden egyes napot függvény segítségével (vagy máshogyan) automatikusan adja hozzá a grafikonhoz? Valaki esetleg tudna esetleg kódot is mutatni?
SELECT
DATE_FORMAT(`t1`.`date`, "%Y-%m-%d") AS `datum`,
(
SELECT count(*)
FROM `table` AS `t2`
WHERE DATE_FORMAT(`t2`.`date`, "%Y-%m-%d") = DATE_FORMAT(`t1`.`date`, "%Y-%m-%d")
) AS `count`
FROM `table` AS `t1`
WHERE 1 ;
Az utolsó WHERE -nél pedig megadod pl az intervallumot, Sorba Rendezed dátum alapján...
SELECT
DISTINCT DATE_FORMAT(`t1`.`kep_date`, "%Y-%m-%d") AS `datum`,
(
SELECT count(*)
FROM `kepek` AS `t2`
WHERE DATE_FORMAT(`t2`.`kep_date`, "%Y-%m-%d") = DATE_FORMAT(`t1`.`kep_date`, "%Y-%m-%d")
) AS `count`
FROM `kepek` AS `t1`
WHERE `t1`.`kep_date` > "2020-03-01 00:00:00" AND `t1`.`kep_date` < "2020-04-01 00:00:00"
ORDER BY `t1`.`kep_date`;
Ezen nem működik valami:
<script>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
axisX:{
crosshair: {
enabled: true,
snapToDataPoint: true
}
},
axisY:{
crosshair: {
enabled: true,
snapToDataPoint: true
}
},
toolTip:{
enabled: false
},
data: [{
type: "area",
dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>
}]
});
chart.render();
}
</script>
A te megoldásoddal sok lekérdezés lesz. Nagyobb adatbázisnál nem feltétlenül jó.
Tesztelted a grafikont kézzel megadott adatokkal? Lehet, hogy alapból el felejtesz betölteni mindent, illetve rossz sorrendben teszed azt. Nézd meg a példakódot!
Betölti a jquery-t, canvasjs-t, megadja az adatokat, a végén meg lefut a feldolgozó script amit ide bemásoltál.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!