[我使用chartjs,尝试从数据库中创建一个图表,但是当我设法调用数据时,它与数据库中的数据不匹配。
我的数据库
这是脚本的
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>
这是结果
在结果中,bakoel有762利润,而在数据库中,他有0利润
问题是您的数据-起初,我想知道您的系统甚至从哪里获取762
。如果看一下表,您会发现ARINDO
在索引9,364,762,121
上的值为3
,并且,
是您的条目定界符。因此,这里还有2个逗号,这意味着第5个值变为762
。您必须在echo $data->Jan19 . ", ";
调用中替换:
echo str_replace(",","",$data->Jan19). ", ";