2017-04-12 89 views
0

我想从我的表格中选择2011年至2015年。下面是表:xAxis类别Highcharts

enter image description here

所以,我做了这样的查询

$tahunmasukpelamar = (new \yii\db\Query()) 
     ->select(['TahunMasuk']) 
     ->from('temp_jkpelamarmagister') 
     ->Where(['between', 'TahunMasuk', 2007, 2011]) 
     ->column(); 

    $lakilakipelamar = (new \yii\db\Query()) 
     ->select(['Lakilaki']) 
     ->from('temp_jkpelamarmagister') 
     ->column(); 

    $perempuanpelamar = (new \yii\db\Query()) 
     ->select(['Perempuan']) 
     ->from('temp_jkpelamarmagister') 
     ->column(); 
    $lainlainpelamar = (new \yii\db\Query()) 
     ->select(['Lainlain']) 
     ->from('temp_jkpelamarmagister') 
     ->column(); 

    $lakilakipelamar = array_map('floatval', $lakilakipelamar); 
    $perempuanpelamar = array_map('floatval', $perempuanpelamar); 
    $lainlainpelamar = array_map('floatval', $lainlainpelamar); 

    $data['tahunmasukpelamar'] = json_encode($tahunmasukpelamar); 
    $data['lakilakipelamar'] = json_encode($lakilakipelamar); 
    $data['perempuanpelamar'] = json_encode($perempuanpelamar); 
    $data['lainlainpelamar'] = json_encode($lainlainpelamar); 

这是控制器了。

查看

$(function() { 
    $('#my-chart').highcharts({ 
     chart: { 
     type: 'column' 
    }, 
    title: { 
     text: 'Jumlah Pelamar Magister Berdasarkan Jenis Kelamin' 
    }, 
    xAxis: { 
     categories: $tahunmasukpelamar 
    }, 
    yAxis: 
    { 
     title: 
     { 
      text: 'Jumlah' 
     } 
    }, 
    credits: 
    { 
     enabled: false 
    }, 
    series: [{ 
      name: 'Laki-Laki', 
      data: $lakilakipelamar 
     }, { 
      name: 'Perempuan', 
      data: $perempuanpelamar 
     }, 
     { 
      name: 'Lainnya', 
      data: $lainlainpelamar 
     }] 
}); 
}); 
")?> 
</div> 
</div> 

可是,为什么我的图表可能出现这样的:

enter image description here

什么可以做些什么来解决这个问题?在此先感谢

+0

为什么'$ tahunmasukpelamar'是在2007年至2011年之间,其他则不是。 “$ tahunmasukpelamar”是2007年到2011年的类别形式,其余是2004年到2015年。因此在所有数据库查询中具有相同的范围。 –

+0

也许你应该结合这样的查询选择tahun masuk,lakilaki,perempuan,lainnya从'你的表',其中tahunmasuk> = 2007和tahunmasuk <= 2011。 –

回答

1

如前所述我想从我的表选择2011到2015年

改变这样的查询

$tahunmasukpelamar = (new \yii\db\Query()) 
    ->select(['TahunMasuk']) 
    ->from('temp_jkpelamarmagister') 
    ->Where(['between', 'TahunMasuk', 2011, 2015]) 
    ->column(); 

$lakilakipelamar = (new \yii\db\Query()) 
    ->select(['Lakilaki']) 
    ->from('temp_jkpelamarmagister') 
    ->Where(['between', 'TahunMasuk', 2011, 2015]) 
    ->column(); 

$perempuanpelamar = (new \yii\db\Query()) 
    ->select(['Perempuan']) 
    ->from('temp_jkpelamarmagister') 
    ->Where(['between', 'TahunMasuk', 2011, 2015]) 
    ->column(); 
$lainlainpelamar = (new \yii\db\Query()) 
    ->select(['Lainlain']) 
    ->from('temp_jkpelamarmagister') 
    ->Where(['between', 'TahunMasuk', 2011, 2015]) 
    ->column(); 

其他所有代码都是相同