2017-04-12 90 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(); 

其他所有代碼都是相同