morrisjs / morris.js

Pretty time-series line graphs
http://morrisjs.github.com/morris.js/
6.92k stars 1.23k forks source link

dynamic data with jquery ajax dont work #780

Open Rayner061 opened 5 years ago

Rayner061 commented 5 years ago
        $("#diseaseselection").change(function(){
            $("#chart").empty();
            var diseaseselection = $("#diseaseselection").val();
            $.ajax({
                url: "chart.php",
                method: "POST",                   
                data: {
                    diseaseselection: diseaseselection
                },
                success: function(data) {
                    var graphdata = data;
                    console.log(graphdata)
                    Morris.Line({
                        element : 'chart',
                        data:[graphdata],
                        xkey:'totalF',
                        ykeys:[ 'totalM'],
                        labels:['Total MALE'],
                        hideHover:'auto',
                        pointStrokeColors: ['white'],
                        lineWidth:'6px',
                        parseTime: false,
                        lineColors: ['Skyblue', 'Pink'],
                    });
                }
            });
        });
Rayner061 commented 5 years ago
include_once('connection.php');
$diseaseselection = $_REQUEST['diseaseselection'];
if(isset($diseaseselection)){
    $result = mysqli_query($con, "SELECT disease,age,SUM(CASE WHEN gender = 'm' THEN 1 ELSE 0 END) AS `totalM`, SUM(CASE WHEN gender = 'f' THEN 1 ELSE 0 END) AS `totalF` FROM mdr where disease = '$diseaseselection' GROUP BY disease , age");
    $chart_data = '';
    while($row = mysqli_fetch_array($result))
    {
        $tabx[]=$row['totalF'];
        $taby[]=$row['totalM'];

    }
    $tableau=array_combine($tabx,$taby);
    foreach($tableau as $key=>$value){
    $string[]=array('totalF'=>$key,'totalM'=>$value);

    }
    echo json_encode($string);
}

Here is my sample PHP