cara filter data di chart.js berdasarkan hari saat ini

saya pakai bahasa php native & database mysqli.saya menampilkan data di chart.js nah saya ingin bisa filter data berdasarkan hari,bagaimana caranya terimakasih

 <canvas class="d-block w-100" id="qety" ></canvas>

<?php
$qty1 = mysqli_query($koneksi, "select * from test_mesina3");
$qty2 = mysqli_query($koneksi, "select * from test_mesina3");
$qty3 = mysqli_num_rows($query);

<script>
var ctx = document.getElementById('qety').getContext('2d');

var qety = new Chart(ctx, {
 //chart akan ditampilkan sebagai bar chart
    type: 'line',
    data: {
     //membuat label chart



        labels:  [<?php while ($b = mysqli_fetch_array($qty1)) { echo '"' . ($b['waktu']) . '",';}?>],
        datasets: [{
            label: "qty",
            borderColor: "#80b6f4",
            pointBorderColor: "#80b6f4",
            pointBackgroundColortime_diff: "#80b6f4",
            pointHoverBackgroundColor: "#80b6f4",
            pointHoverBorderColor: "#80b6f4",
            pointBorderWidth: 10,
            pointHoverRadius: 10,
            pointHoverBorderWidth: 1,
            pointRadius: 3,
            fill: false,
            borderWidth: 4,
            //isi chart
            data: [<?php while ($p = mysqli_fetch_array($qty2)) { echo '"' . ($p['qty']). '",';}?>],
          }]
    },
    options: {
        legend: {
            position: "bottom"
        },
        scales: {
            yAxes: [{
                ticks: {
                    fontColor: "rgba(0,0,0,0.5)",
                    fontStyle: "bold",
                    beginAtZero: true,
                    maxTicksLimit: 5,
                    padding: 20
                },
                gridLines: {
                    drawTicks: false,
                    display: false
                }}],
            xAxes: [{
                gridLines: {
                    zeroLineColor: "transparent"},
                ticks: {
                    padding: 20,
                    fontColor: "rgba(0,0,0,0.5)",
                    fontStyle: "bold"
                }
            }]
        }
    }
});
</script>

avatar aditrachman23
@aditrachman23

2 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

Tanggapan

Tinggal buat query yang memfilter data berdasarkan hari

Baca aturan main di forum ini ya, sertakan kode atau gambar jika perlu

sudah ku update

buat query yang memfilter data berdasarkan hari itu gimana ya

2 Jawaban:

<div>aku masih kurang paham dengan pertanyaannya,,, kalo misal cuma membatasi aja,, bisa di buat gini</div><pre>$qty1 = mysqli_query($koneksi, "select * from test_mesina3 WHERE waktu=$tgl_kondisi");</pre><div>$tgl_kondisi itu sendiri, bisa di inputkan menggunakan POST, GET, atau cara lainnya,,, misal mau pake <a href="https://sekolahkoding.com/forum/tag/javascript">javascript</a> input,,,<br>tapi ini sebatas yang aku pahami dari pertanyaannya,,, mungkin kalao masi kurang sesuai, bisa di jelaskan lebih lanjut pertanyaannya,,,, semoga membantu ^^<br><br>edited :</div><pre>$qty1 = mysqli_query($koneksi, "select * from test_mesina3 WHERE DATENAME(dw, waktu) = '$hari'");</pre><div>DATENAME(dw, .......... ) akan menghasilkan value monday, sunday, dsb</div>

avatar yukari06
@yukari06

137 Kontribusi 66 Poin

Dipost 2 tahun yang lalu

<div>Mungkin bisa dicoba seperti ini :</div><pre>&lt;select name="hari" id="filter-hari"&gt; &lt;option value="Minggu"&gt;Minggu&lt;/option&gt; &lt;option value="Senin"&gt;Senin&lt;/option&gt; &lt;option value="Selasa"&gt;Selasa&lt;/option&gt; &lt;option value="Rabu"&gt;Rabu&lt;/option&gt; &lt;option value="Kamis"&gt;Kamis&lt;/option&gt; &lt;option value="Jumat&quot;&amp;gt;Jumat&lt;/option&gt; &lt;option value="Sabtu"&gt;Sabtu&lt;/option&gt;
&lt;/select&gt;

&lt;canvas class="d-block w-100" id="qety" &gt;&lt;/canvas&gt;

&lt;?php //Dapatan parameter GET hari, set default harinya Senin ketika tidak ada parameter GET $hari = isset($_GET['hari']) &amp;&amp; $_GET['hari'] !== '' ? $_GET['hari'] : 'Senin';

$qty1 = mysqli_query($koneksi, "select * from test_mesina3 WHERE hari = '$hari'"); $qty2 = mysqli_query($koneksi, "select * from test_mesina3 WHERE hari = '$hari'"); $qty3 = mysqli_num_rows($query);

&lt;script&gt; const filterHari = document.querySelector('#filter-hari'); filterHari.addEventListener('change', function(){ const halamanSaatIni = window.location.href;

window.location.href = halamanSaatIni + &#039;?hari=&#039; + this.value;

});

var ctx = document.getElementById('qety').getContext('2d');

var qety = new Chart(ctx, { //chart akan ditampilkan sebagai bar chart type: 'line', data: { //membuat label chart

labels:  [&amp;lt;?php while ($b = mysqli_fetch_array($qty1)) { echo &#039;&quot;&#039; . ($b[&#039;waktu&#039;]) . &#039;&quot;,&#039;;}?&amp;gt;],
    datasets: [{
        label: &quot;qty&quot;,
        borderColor: &quot;#80b6f4&quot;,
        pointBorderColor: &quot;#80b6f4&quot;,
        pointBackgroundColortime_diff: &quot;#80b6f4&quot;,
        pointHoverBackgroundColor: &quot;#80b6f4&quot;,
        pointHoverBorderColor: &quot;#80b6f4&quot;,
        pointBorderWidth: 10,
        pointHoverRadius: 10,
        pointHoverBorderWidth: 1,
        pointRadius: 3,
        fill: false,
        borderWidth: 4,  
        //isi chart
        data: [&amp;lt;?php while ($p = mysqli_fetch_array($qty2)) { echo &#039;&quot;&#039; . ($p[&#039;qty&#039;]). &#039;&quot;,&#039;;}?&amp;gt;],
      }]
},
options: {
    legend: {
        position: &quot;bottom&quot;
    },
    scales: {
        yAxes: [{
            ticks: {
                fontColor: &quot;rgba(0,0,0,0.5)&quot;,
                fontStyle: &quot;bold&quot;,
                beginAtZero: true,
                maxTicksLimit: 5,
                padding: 20
            },
            gridLines: {
                drawTicks: false,
                display: false
            }}],
        xAxes: [{
            gridLines: {
                zeroLineColor: &quot;transparent&quot;},
            ticks: {
                padding: 20,
                fontColor: &quot;rgba(0,0,0,0.5)&quot;,
                fontStyle: &quot;bold&quot;
            }
        }]
    }
}

}); &lt;/script&gt;</pre><div><br>Semoga berhasil.</div>

avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 2 tahun yang lalu

Tanggapan

parameter hari nya dari mana ya,kalo di database ku kasih timestamp,atau harus ku ganti jadi hari ?

format dari row waktu apa ? ? kalau misalnya date,, bisa pake DATENAME(dw, waktu) = "$hari"; tapi harap di ganti terlebih dahulu valuenya menjadi hari inggris

pake timestamp

Login untuk ikut Jawaban