M
M
Maybe_V2016-05-22 11:35:22
PHP
Maybe_V, 2016-05-22 11:35:22

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

What needs to be done next in php itself to accept the data sent by ext and save it to the database?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question