图表中调用的数据与数据库不匹配

问题描述 投票:0回答:1

[我使用chartjs,尝试从数据库中创建一个图表,但是当我设法调用数据时,它与数据库中的数据不匹配。

我的数据库

My database

这是脚本的

Controller

function index(){
    $this->data['graph'] = $this->profit->graph();
    $this->load->view('admin/v_dashboard',$this->data);
}

模型

<?php
class Profit extends CI_Model {
    public function __construct()
    {
        $this->load->database();
    }


public function graph()
{
    $data = $this->db->query("SELECT * from profit");
    return $data->result();
}

}

视图

  <script src="<?php echo base_url(); ?>assets/chart/chart.js"></script>
  <script type="text/javascript">
      var ctx = document.getElementById('myChart').getContext('2d');
      var chart = new Chart(ctx, {
        type: 'bar',
        data: {
        labels: [
          <?php
            if (count($graph)>0) {
              foreach ($graph as $data) {
                echo "'" .$data->APIID ."',";
              }
            }
          ?>
        ],
        datasets: [{
            label: 'Profit',
            backgroundColor: '#ADD8E6',
            borderColor: '##93C3D2',
            data: [
              <?php
                if (count($graph)>0) {
                  foreach ($graph as $data) {
                    echo $data->Jan19 . ", ";
                  }
                }
              ?>
            ]
        }]
    },
});

  </script>

这是结果

The view

在结果中,bakoel有762利润,而在数据库中,他有0利润

php mysql codeigniter chart.js
1个回答
0
投票

问题是您的数据-起初,我想知道您的系统甚至从哪里获取762。如果看一下表,您会发现ARINDO在索引9,364,762,121上的值为3,并且,是您的条目定界符。因此,这里还有2个逗号,这意味着第5个值变为762。您必须在echo $data->Jan19 . ", ";调用中替换:

 echo str_replace(",","",$data->Jan19). ", ";
© www.soinside.com 2019 - 2024. All rights reserved.