Morris面积图jquery/php

Morris面积图jquery/php,php,jquery,laravel,morris.js,Php,Jquery,Laravel,Morris.js,我对莫里斯图表有意见。 我尝试了很多次,用很多不同的方法从HTML表中的数据创建莫里斯面积图,但失败了 这是我用来从表中提取数据的方法: $('.tabella_dati').click(function () { var table = $("#datatbl tbody"); var $data = table.find('tr').each(function (i, tr) { var righe = $('td', tr).map(function (i

我对莫里斯图表有意见。 我尝试了很多次,用很多不同的方法从HTML表中的数据创建莫里斯面积图,但失败了

这是我用来从表中提取数据的方法:

$('.tabella_dati').click(function () {

    var table = $("#datatbl tbody");
    var $data = table.find('tr').each(function (i, tr) {
        var righe = $('td', tr).map(function (i, td) {
            return $(td).text();
        });
        var $ciao = JSON.stringify(righe);            
        $.post('charts', {data: $ciao}, function (data) {
            alert(data);
        });
    }).text();
我尝试了使用和不使用post方法。 使用post方法,我尝试通过以下方式在PHP函数中创建图表:

function morris() {
    $data = Input::get('data');
    echo '<script>Morris.Area({element: "morris-area-chart",'
    . 'data: '.$data.'}, xkey: '.$data.', ykeys: '.$data.')</script>';

您可以发布一个示例表,或者设置一个JSFIDLE吗?对不起,我现在使用另一个图表(highchart)自动从表中检索数据。无论如何,我想知道如何解决Morris的问题。你能把标记放到JS提琴中吗?这样我就不必手动制作表格了吗?你能发布一个示例表格,或者设置一个JSFIDLE吗?对不起,我现在使用另一个图表(highchart)自动从表格中检索数据。无论如何,我想知道如何解决Morris的问题,你能把标记放到JS提琴中,这样我就不必手动制作表格了吗?
function buildTable($arrFilled, $arrDates) {
    $mesi = array("1" => "January",
        "2" => "February",
        "3" => "March",
        "4" => "April",
        "5" => "May",
        "6" => "June",
        "7" => "July",
        "8" => "August",
        "9" => "September",
        "10" => "October",
        "11" => "November",
        "12" => "December");
    echo '<table id="datatbl" class="table">';
    echo '<thead>';
    echo '<th class="text-center">Country</th>';
    foreach ($arrFilled as $k => $v) {
        $arr = explode("_", $k);
        echo '<th class="text-center">' . $mesi[$arr[1]] . "<br>" . $arr[0] . '</th>';
    }
    echo '</thead>';
    echo '<tbody>';
    $i = 0;
    $countries = array_keys($arrDates);
    foreach ($countries as $c) {
        echo '<tr>';
        echo '<td class = "text-center">' . $countries[$i] . '</td>';
        foreach ($arrFilled as $k => $v) {
            $valore = isset($arrDates[$c][$k]) ? $arrDates[$c][$k] : $v;
            if ($valore != 0) {
                echo '<td class="text-center" bgcolor="#ADD8E6">' . $valore . '</td>';
            } else {
                echo '<td class="text-center">' . $valore . '</td>';
            }
        }
        echo '</tr>';
        $i++;
    }
    echo '</tbody>';
    echo '</table>';
}

function table() {
    $mesi = Input::get('month');
    $array = [];
    for ($i = 0; $i <= $mesi - 1; $i++) {
        $arrayMesi[$i] = $i;
        $array[date("Y_n", strtotime("-$arrayMesi[$i] month"))] = 0;
    }
    $countries = DB::table('countries')->get();
    $country_index = 0;
    $arrDates = [];
    foreach ($countries as $c) {
        $arrCountires[] = $c->country_name;
        $subscription = DB::table('subscription')->select('quantity', 'country_id', DB::raw('concat(year(date), "_" , month(date)) as meseAnno'))
                        ->where('country_id', '=', $c->country_id)
                        ->groupBy('meseAnno')->get();
        foreach ($subscription as $s) {
            $arrDates[$arrCountires[$country_index]][$s->meseAnno] = $s->quantity;
        }
        $country_index++;
    }
    return $this->buildTable($array, $arrDates);
}