Answer the question
In order to leave comments, you need to log in
How to get data from a table in php?
For the first time I work with EXTjs, I can’t figure out how to make php get the data that the user enters into the table fields when clicking on the “Add” button!
Ext.require([
'Ext.grid.*',
'Ext.data.*',
'Ext.util.*',
'Ext.state.*'
]);
Ext.onReady(function() {
Ext.define('Stock', {
extend: 'Ext.data.Model',
fields: [
{name: 'Код', type: 'int'},
{name: 'Імя', type: 'string'},
{name: 'Прізвище', type: 'string'},
{name: 'Телефон', type: 'string'},
{name: 'Серія_номер_паспорта', type: 'string'},
{name: 'Адреса', type: 'string'},
]
});
var store = Ext.create('Ext.data.Store', {
model: 'Stock',
autoLoad: true,
proxy: {
type: 'ajax',
api: {
read: 'server.php?action=view',
create: 'server.php?action=create',
update: 'server.php?action=update',
destroy: 'server.php?action=destroy'
},
writer: {
type: 'json',
writeAllFields: true,
root: 'strahovic_data'
},
reader:{
type: 'json',
root: 'strahovic_data'
}
},
autoLoad: true
});
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
var grid = Ext.create('Ext.grid.Panel', {
store: store,
stateful: true,
stateId: 'stateGrid',
dockedItems: [
{
xtype: 'toolbar',
items: [
{
iconCls: 'icon-add',
text: 'Додати',
scope: this,
handler: function(){
var rec = new Stock({
id : null,
open: 0,
last: 0
});
store.insert(0, rec);
}
}, {
iconCls: 'icon-delete',
text: 'Видалити',
itemId: 'delete',
scope: this,
handler: function(){
var row = grid.getView().getSelectionModel().getCurrentPosition().row;
if (row) {
store.removeAt(row);
}
}
}, {
text: 'Синхронізувати',
itemId: 'sync',
scope: this,
handler: function(){
store.sync();
}
}]
},
{
xtype: 'toolbar',
dock: 'bottom',
items: [{
xtype: 'tbtext',
text: '<b>Параметри:</b>'
}, ' ', {
text: 'Автосинхронізація',
enableToggle: true,
pressed: true,
tooltip: 'Коли увімкнена - сховище автоматично зберігатиме дані',
scope: this,
toggleHandler: function(btn, pressed){
store.autoSync = pressed;
}
}, {
text: 'Пакетний режим',
enableToggle: true,
pressed: true,
tooltip: 'Коли увімкнений, сховище намагатиметься відправляти зміни до декількох записів одним запитом',
scope: this,
toggleHandler: function(btn, pressed){
store.getProxy().batchActions = pressed;
}
}, {
text: 'Зберігати всі поля',
enableToggle: true,
pressed: true,
tooltip: 'Коли увімкнено, на сервер відправлятимуться усі поля, а не лише змінені',
scope: this,
toggleHandler: function(btn, pressed){
store.getProxy().getWriter().writeAllFields = pressed;
}
}]
}],
columns: [
{
text: 'Код',
width: 15,
align: 'center',
hidden: true,
dataIndex: 'Код'
},
{
text: 'Імя',
flex : 1,
hideable: false,
dataIndex: 'Імя'
},
{
text : 'Прізвище',
flex : 1,
sortable : false,
dataIndex: 'Прізвище'
},
{
text : 'Телефон',
flex : 1,
sortable : false,
dataIndex: 'Телефон'
},
{
text : 'Серія номер паспорта',
flex : 1,
sortable : false,
dataIndex: 'Серія_номер_паспорта'
},
{
text : 'Адреса',
flex : 2,
sortable : false,
dataIndex: 'Адреса',
editor: {
}
}
],
height: 350,
width: 800,
title: 'Страховик',
renderTo: "grid-example",
selModel: {
selType: 'cellmodel'
},
plugins: [cellEditing]
});
});
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question