Задать вопрос
@prokopov-vi

Как получит данные из таблицы в php?

Первый раз работаю с EXTjs не могу понять как сделать так, чтоб php получил данные, которые при нажатии на кнопку "Добавить" пользователь вводит в поля таблицы!

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]
    });
});


Что нужно сделать дальше в самом php чтобы принять отосланные ext данные и сохранить их в БД ?
  • Вопрос задан
  • 270 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы