gpt4 book ai didi

php - extjs 4 : filling combobox using MYSQL db via PHP script

转载 作者:行者123 更新时间:2023-11-29 14:00:58 25 4
gpt4 key购买 nike

您好,我正在尝试使用来自 MYSQL 数据库的数据填充组合框。使用 Extjs 4 和 MVC 架构。

这是我 View 中的组合框配置:

         ...
{
xtype: 'combobox',
id: 'cmbMetric',
name: 'metr',
mode: 'queryMode',
querymode : 'lcoal',
fieldLabel: 'Metric',
store: 'MetricsData',
editable: false,
valign : 'middle',
margin : 15

}
....

我的商店:

Ext.define('Metrics.store.MetricsData', {
extend: 'Ext.data.Store',
model: 'Metrics.model.MetricsData',
autoLoad: true,
proxy : {
type : 'ajax',
actionMethods : 'POST',
api : {
read : 'testmysql.php'
},
reader: {
type: 'json',
successProperty: 'success',
messageProperty: 'message',
root: 'data'
}
}
});

我的模型:

Ext.define('Metrics.model.MetricsData', {
extend: 'Ext.data.Model',
fields: [{name : 'name_metric'}]
});

最后是我的 PHP 脚本:

<?php   

//database parameters
$user='user';
$pw='';
$db='mydb';
$table='metric';

//make database connection
$connection = mysql_connect("localhost", $user, $pw) or
die("Could not connect: " . mysql_error());
mysql_select_db($db) or die("Could not select database");

metricsName();

function metricsName()
{
$sql = 'SELECT name_metric FROM metric';

$result = mysql_query($sql); // result set

while($rec = mysql_fetch_array($result, MYSQL_ASSOC)){
$arr[] = $rec;
};

$data = json_encode($arr); //encode the data in json format

}

?>

我不知道出了什么问题或者错误来自哪里,但我的组合框从未被填充。任何帮助将不胜感激。

最佳答案

您需要在末尾返回echo $data

$data = json_encode($arr);  //encode the data in json format
echo $data;

此外,您返回的数据应如下所示:

{
data: [{
name_metric: 'record1'
}, {
name_metric: 'record2'
}],
total: 2,
success: true
}

关于php - extjs 4 : filling combobox using MYSQL db via PHP script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15067889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com