Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagan untuk diperbarui dari pilihan tarik-turun

Anda dapat menggunakan addData dan removeData , lihat https://www.chartjs.org/docs/latest/developers /updates.html . addData hanya menambahkan satu set data per panggilan, tetapi removeData menghapus semua kumpulan data dari bagan. Ada juga cara untuk mendorong label dan kumpulan data lihat contoh codepen:https://codepen.io/jordanwillis/ pena/bqaGRR .

Pertama yang Anda butuhkan adalah menyimpan grafik Anda dalam variabel, sehingga Anda dapat dengan mudah menambah dan menghapus data. ketika Anda memiliki bagan yang disimpan di var, katakanlah myChart , Anda dapat memanggil removeData() seperti:myChart.removeData() . Untuk menambahkan data Anda harus mengirim label dan data seperti:myChart.addData('news', [2, 32, 3]) .

Idenya selanjutnya, untuk memperbarui bagan ketika panggilan ajax Anda berhasil. Yang penting adalah memiliki contoh grafik di file yang sama di mana Anda memiliki panggilan ajax, Anda harus memindahkan panggilan onclick ke file js, atau memanggil fungsi dari dari àpp.js .

Sekarang tergantung pada struktur data Anda, Anda harus melalui masing-masing dan mendapatkan nilai dan label. Anda harus mendapatkan hasil yang sama dari data seperti yang Anda miliki saat membuat grafik.

CONTOH KODE:

Apa yang akan Anda miliki di app.js

$(document).ready(function(){

    $.ajax({
        url: "http://localhost/chartjs/data.php",
        method: "GET",
        success: function(data) {
            console.log(data);
            var op1 = [];
            var op2 = [];

            let data_keys = Object.keys(data[0])
            console.log(data_keys)
            first = data_keys[0] //1st element
            second = data_keys[1] //2nd element

            for(var i in data) {
                op1.push(data[i][first])
                op2.push(data[i][second])

            }

         var chartdata = {
         labels: op1,
         datasets : [
             {
             label: 'SystemID and Apparent Power (VA)',
             backgroundColor: 'rgba(250, 50, 50, 0.4)',
             borderColor: 'rgba(500, 50, 50, 0.5)',
             hoverBackgroundColor: 'rgba(500, 30, 30, 0.2)',
             hoverBorderColor: 'rgba(500, 30, 30, 0.3)',
             data: op2
         } 
         ]
  };

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

  var barGraph = new Chart(ctx, {
    type: 'line',
    data: chartdata,
    options: {
    scales: {
       xAxes: [{
               ticks: {
                fontSize: 10
               }
              }],
        yAxes: [{
            ticks: {
                fontSize: 10
            }
        }]
            }
         }
      });
    },
    error: function(data) {
    console.log(data);
    }
    });

    function updateChartAjaxCall(data1, data2)
    {
        //ajax call here 
        $.ajax({
            type: 'POST',
            url: 'data.php',
            dataType: 'html',
            data: {data1:data1,data2:data2},
            success:function(data){ 
                // here also manipulate data what you get to update chart propertly
                myChart.removeData();
                myChart.addData('newLabel', [23, 33, 4]);
            }, 
            error:function (xhr, ajaxOptions, thrownError){
                console.log(thrownError);
            }, 
            complete: function(){
            }
        });
        e.preventDefault(); 
    }
});

Kemudian Anda bargraph.html juga akan diubah:

<script type="text/javascript">

$('#submitButton').click(function(e){
    var data1=$("#data1").val();
    var data2=$("#data2").val();

    updateChartAjaxCall(data1, data2);
});
</script>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysqli_num_rows() mengharapkan tepat 1 parameter, 2 diberikan | mysql |mysqli

  2. Masalah C# MySqlParameter

  3. Bagaimana cara menyimpan data sesi PHP ke database alih-alih di sistem file?

  4. Perbarui MySQL dari CSV menggunakan JAVA

  5. Sumber data menolak pembuatan koneksi, pesan dari server:Terlalu banyak koneksi