extjs,php,mysql
может кому-то покажется проблема пустяковой,но я её не могу решить:(
имеется база данных и комбобокс.необходимо чтобы информация из БД отображалась в комбо.
var categoriesStore = Ext.create('Ext.data.JsonStore', {
fields: ['id', 'name'],
url: 'categories.php',
root: 'categories'
})
...
xtype: 'combobox',
width: 195,
store: categoriesStore,
fieldLabel: 'Выберите параметр',
displayField: 'name',
valueField: 'id',
labelAlign: 'top',
labelPad: 15,
queryMode: 'local',
renderTo: Ext.getBody(),
x: 285,
y: 150,
listConfig: {
getInnerTpl: function() {
return '<div data-qtip="{name}. {slogan}">{name} ({id})</div>';
}
},
listeners:{
select: function (combo, record) {
this.up('window').setInputValue(record[0].get('id'))
}
это моя часть кода. подскажите пожалуйста как должен выглядеть php файл, и где его надо сохранить?заранее благодарна |
с сервера в качестве ответа json-объект должен возвращаться примерно в таком виде
{"categories":[{"id":1,"name":"Имя1"}, {"id":2,"name":"Имя2"}]}
тоесть, получив данные, вы должны заполнить ими массив, а затем отдать его(массив) уже преобразованным в json, понятный для клиента=)
$response = array(
"categories" => array(
0 => array(
"id" => 1,
"name" => "Имя1"
),
1 => array(
"id" => 2,
"name" => "Имя2"
)
)
);
// еще данные в utf-8 желательно перекодировать, можно iconv() юзать
echo json_encode($response);
|
| Часовой пояс GMT +3, время: 14:47. |