Php 在Codeigniter上使用HIghcharts获取数据名和总数
我只是停留在我的代码,我不能继续我的程序,谁能帮我打破我的墙,我可以继续我的代码。 我在codeigniter上使用highcharts,这是我的代码: 控制器:Php 在Codeigniter上使用HIghcharts获取数据名和总数,php,mysql,codeigniter,highcharts,Php,Mysql,Codeigniter,Highcharts,我只是停留在我的代码,我不能继续我的程序,谁能帮我打破我的墙,我可以继续我的代码。 我在codeigniter上使用highcharts,这是我的代码: 控制器: public function index() { $chart=$this->Model_mou->get_data(); $this->load->view('mou', $chart); } 型号: function get_data() { $this->db->s
public function index()
{
$chart=$this->Model_mou->get_data();
$this->load->view('mou', $chart);
}
型号:
function get_data()
{
$this->db->select('dn_ln as name, count(dn_ln) as total');
$this->db->from('mou');
$this->db->group_by('dn_ln');
$query = $this->db->get();
return $query->result();
}
视图:
series: [{
name: 'Precentage',
colorByPoint: true,
data: [
<?php
foreach ($chart as $x) {
echo "['" .$x->name . "'," . $x->total ."],\n";
}
?>
]
}]
系列:[{
名称:'Precentage',
colorByPoint:对,
数据:[
在Codeigniter中,视图希望以数组的形式从控制器获取数据。在视图中,您直接访问数组元素,而不是数组本身
因此,如果将$chart
传递到视图中,并且$chart
包含$name
和$total
,则调用它们
通过将$chart
放置在数组中,然后将数组传递到视图中,您可以稍微“破解”控制器中的行为(这样您仍然可以在视图中使用$chart
)
public function index()
{
$chart=$this->Model_mou->get_data();
$viewdata = array(
'chart' => $chart,
);
$this->load->view('mou', $viewdata);
}
通过在控制器中进行此小更改,您的视图将开始按预期工作(因为它将从从控制器传递的$viewdata
数组中获取$chart
元素,该元素本身就是一个数组)