我在sencha-touch中有一個餅圖,它不是從我的商店檢索數據,它是來自mysql數據庫的性別數據,數據正在使用ajax請求進行檢索,這裏是請求和商店Piechart不顯示商店數據
Ext.define('Qvidi.controller.MyController', {
extend: 'Ext.app.Controller',
config: {
},
getGender: function() {
Ext.Ajax.request({
method: 'POST',
params: {
class: 'Qvidi',
method: 'getDataM'
},
url: 'server/index.php',
success: function(response){
var r = Ext.decode(response.responseText);
Ext.getStore('GenderStore').setData(r.results);
}
});
}
});
,這裏是商店
Ext.define('Qvidi.store.GenderStore', {
extend: 'Ext.data.Store',
requires: [
'Qvidi.model.GenderModel',
'Ext.data.proxy.Ajax'
],
config: {
model: 'Qvidi.model.GenderModel',
storeId: 'GenderStore',
proxy: {
type: 'ajax',
extraParams: {
class: 'Qvidi',
method: 'getDataM'
},
url: 'server/index.php'
}
}
});
,最後這裏是我的模型
Ext.define('Qvidi.model.GenderModel', {
extend: 'Ext.data.Model',
requires: [
'Ext.data.Field'
],
config: {
fields: [
{
name: 'types'
},
{
name: 'counter'
}
]
}
});
這裏是從日誌數據在谷歌瀏覽器檢查
同步的XMLHttpRequest的主線程由於對最終用戶的體驗有不利影響而不推薦使用。如需更多幫助,請查詢https://xhr.spec.whatwg.org/。
sencha-touch.js:13032鍵「minimum-ui」不被識別和忽略。 app.js:39載
Console.js _dc = 1456999436953:?35 [貶低] [匿名] loadData已過時,請使用添加或使用setData
的最近的記錄是我改變之後使用setData到loadData
,這裏是在我的方法檢索到SQL解碼以JSON
{
success: true,
total: 2,
results: [
{
types: "Male",
counter: 2182
},
{
types: "Females",
counter: 1134
}
]
}
這是我的圖表代碼
{
xtype: 'polar',
height: 377,
id: 'genderPieChart',
colors: [
'#115fa6',
'#94ae0a',
'#a61120',
'#ff8809',
'#ffd13e',
'#a61187',
'#24ad9a',
'#7c7474',
'#a66111'
],
store: 'GenderStore',
series: [
{
type: 'pie',
colors: [
'#115fa6',
'#94ae0a',
'#a61120',
'#ff8809',
'#ffd13e',
'#a61187',
'#24ad9a',
'#7c7474',
'#a66111'
],
labelField: 'types',
xField: 'counter',
yField: 'types'
}
],
interactions: [
{
type: 'rotate'
}
]
}
這裏是我的PHP代碼
class Qvidi extends Connect {
function __construct(){
parent::__construct();
}
public function getDataM($vars){
$sql = "Select 'Male' as 'types', count(gender) AS 'counter' from quividi.vidireports where gender='1'
union
Select 'Females' as 'types', count(gender) AS 'counter' from quividi.vidireports where gender='2'";
$data = array();
$total = 0;
if($result = $vars->db->query($sql)) {
while($row = $result->fetch_assoc()){
$data[] = array("types"=>$row["types"], "counter" => intval ($row["counter"]));
$total++;
}
$result->free();
}
echo json_encode(array("success" => true, "total" => $total, "results" => $data));
}
結果是否正確? –
來自我的PHP文件的結果是正確的,數據正在被正確檢索,有兩個數據字段來自查詢它是類型,是男性還是女性,另一個字段是計數器,即男性的數量和女性。 –
類型是一個字符串,計數器存儲爲一個int值 –