Editable GRID (ExtJS) using PHP+MySQL

匿名 (未验证) 提交于 2019-12-03 07:50:05

问题:

I have a little trouble with understanding of recording data to MySQL database. Now, I have some table in my DB showing in Grid. I attached an Editor, but i don't know, how to use it correctly (sending editable data into a php-script). May I ask for help? Thanks.

view.js

    Ext.onReady(function() {     var cols = [     { dataIndex: 'id', header: 'id', hidden: true },     { dataIndex: 'title', header: 'Title', width: 200, editor: 'textfield'},     { dataIndex: 'author', header: 'Author', width: 200, editor: 'textfield' },     { dataIndex: 'isbn', header: 'ISBN', width: 100, editor: 'numberfield' }, ],      fields = [];         for(var i=0; i<cols.length; i++) {         fields.push(cols[i].dataIndex);     }  Ext.define('Book', {     extend: 'Ext.data.Model',     fields: fields  });  var store = Ext.create('Ext.data.JsonStore', {     model: 'Book',     proxy: {         type: 'ajax',         url: 'view.php',         reader: {             type: 'json'         }     } });  Ext.create('Ext.grid.Panel', {     columns: cols,     width: 520,     style: 'margin-top: 20%; margin-left: 35%',     plugins: [         Ext.create('Ext.grid.plugin.RowEditing', {             clicksToEdit: 2         })     ],     renderTo: Ext.getBody(),     store: store }); store.load(); }); 

view.php

    <?php  require_once 'db.php';  $result = mysql_query('SELECT * FROM books'); while ($row = mysql_fetch_assoc($result)) {      for ($i=0; $i < mysql_num_fields($result); $i++) {         $meta = mysql_fetch_field($result, $i);         }     $rows[] = $row; }  print (json_encode($rows)); ?> 

edit.js

    Ext.onReady(function(){ Ext.QuickTips.init(); var simpleForm = new Ext.FormPanel ({     labelWidth: 75,          url:'edit.php',         frame:true,     title: 'Add book',     bodyStyle:'padding:5px 5px 0',     width: 350,     defaults: {width: 230},     defaultType: 'textfield',          items: [{             fieldLabel: 'Title',             name: 'title',             allowBlank:false             },{             fieldLabel: 'Author',             name: 'author'             },{             fieldLabel: 'ISBN',             name: 'isbn'         }],                     buttons: [{             text: 'Save',                       handler: function () {                 simpleForm.getForm().submit({                     waitMsg: 'Saving...',                        success: function () {                              Ext.MessageBox.alert ('Message','Data has been saved');                         simpleForm.getForm().reset();                     },                   failure: function () {                            Ext.MessageBox.alert ('Message','Saving data failed');                     }                 });             }         },{             text: 'Cancel',             handler: function () {                 simpleForm.getForm().reset();             }         }]     });     simpleForm.render ('simple-form'); }); 

edit.php - ????????

    <?php     require_once 'db.php';     $q=mysql_query ("INSERT INTO books VALUES (null, '".$_POST['title']."','".$_POST['author']."','".$_POST['isbn']."')     ") or die ('{"success":"false"}');      // json output to notify the insert is success or not     if ($q) {         echo '{"success":"true"}';     }     else {         echo '{"success":"false"}';     } ?> 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!