>

美洲杯在线投注_2019美洲杯外围投注[投注官网]

热门关键词: 美洲杯在线投注,2019美洲杯外围投注[投注官网]

解析Extjs与php数据交互(增删查改)

- 编辑:美洲杯在线投注 -

解析Extjs与php数据交互(增删查改)

<html>
<head>
//搜索暂时没做,数据是出来了,但是却没法显示
<link rel="stylesheet" type="text/css" href="./js/resources/css/ext-all.css"/>
<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript" src="./js/ext-base.js"></script>
<script type="text/javascript" src="./js/ext-all.js"></script>
<script type="text/javascript" src="./js/ext-lang-zh_CN-min.js"></script>
<script type="text/javascript">
Ext.QuickTips.init(); //初始化快速提示对象
function test() {
 Ext.Msg.alert('title','test-yii-ext');
}
function renderSex(value) {
    if (value == 'male') {
        return "<span style='color:red;font-weight:bold;'>红男</span><img src='./images/male.jpg' />";
    } else {
        return "<span style='color:green;font-weight:bold;'>绿女</span><img src='./images/female.png' />";
    }
}
function init()
{

//当超级管理员点击 "详情" 按钮时,弹出所需要的窗口
//record 将用户选中的Record对象,放到record中,然后在放到form里
function showWindowForm {
//直接取得选中的行对应的record
var record = grid.getSelectionModel().getSelected();
if(!record&&(text!="tianJia")){
Ext.Msg.alert('信息','请选择要编辑的数据');
return;
}
win.show(Ext.get;
if(text!="tianJia")
form.getForm().loadRecord;

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

});

                      
                      obj = Ext.util.JSON.decode(action.response.responseText);
                      Ext.MessageBox.alert('提示', obj.errors.reason);
                      win.close();

var _viewport = new Ext.Viewport({
layout: 'border',
items: [grid]
});

                      success : function(form, action) { 
                          // 业务成功 
                       Ext.MessageBox.alert('提示','添加成功!');
                          win.close();
                          ds.load({params:{ start:0,limit:_pageSize} });
                      }, 
                      failure : function(form, action) { 
                          // 业务失败

Ext.onReady(function(){

<?php
header("Content:text/html;charset=utf-8");
$link = mysql_connect("localhost","root","123456")or die('error'.mysql_error());
mysql_select_db("stu",$link);
mysql_query('set names utf8');
$name = $_POST['username'];
$pwd = $_POST['password'];
$time = $_POST['regTime'];
$email = $_POST['email'];
/*
$name = 'aaaa';
$pwd = 'aaaa';
$time = '2011-12-31';
$email = 'aaaa';*/
$sql = "INSERT INTO men (username,password,regTime,email) VALUES ('{$name}','{$pwd}','{$time}','{$email}')";
//mysql_query($sql)
if (mysql_query($sql))
{
 echo 'ok';
}
?>

if(text=="xiangQing")
win.buttons[1].setText;
else
win.buttons[1].setText;
}

 ///////////////////////////////////////////////////////////////////////////////////////////
 //获取数据
 var ds = new Ext.data.Store({

第二处我是想,删除用户选择的记录。

复制代码 代码如下:

//定义store读取数据的格式
var DepartmentRecord = new Ext.data.Record.create([
{name: 'id',type: 'int'},
{name: 'name',type: 'string'},
{name: 'description',type: 'string'}
]);
//定义行选择模式
var sm = new Ext.grid.CheckboxSelectionModel();
//定义grid的列模式
var cm = new Ext.grid.ColumnModel([
sm,
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'description'}
]);

-- 导出表中的数据 `men`

INSERT INTO `men` (`id`, `name`, `pass`, `sex`, `email`) VALUES
(1, '赵四', '123456', 'female', '646588973@qq.com'),
(2, '测试修改', '123456', 'male', 'test@qq.com'),
(8, '赵勇2', '123456', 'male', 'sfsf@qq.com'),
(9, '赵勇3', '123456', 'male', 'sfsf@qq.com'),
(10, '赵勇5', '123456', 'male', 'sfsf@qq.com'),
(11, 'asdfsf', 'asfsfsf', 'male', 'safsf'),
(18, '12', '123', 'male', '123'),
(19, '123', '123', 'female', '123'),
(20, '123123', '123', 'female', '123'),
(21, 'safdsdf', 'sdf', 'female', 'sdf'),
(22, 'sdfsdf', 'sdfsdf', 'male', 'sdf'),
(23, 'test', 'test', 'male', 'test@qq.com'),
(24, 'saf', 'asdfs', 'male', 'asdf'),
(25, 'dfgdfg', 'dfgdfg', 'male', 'dfgdfg'),
(26, 'ertert', 'erter', 'male', 'tertert'),
(27, '1asdf', 'sdf', 'male', 'sdf');

var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'../servlet/DepartmentType_list'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalCount',
root: 'result'
}, DepartmentRecord)
});
//grid 设置 start
var grid = new Ext.grid.GridPanel({
region: 'center',
title: "系部类型列表",
autoHeight: true,
store: store,
cm: cm,
sm: sm,
loadMask: {
msg: "正在载入,请稍等。。。。。"
},
viewConfig: {
forceFit: true //表格会自动延展每列的长度,使内容填满整个表格
},
tbar: new Ext.Toolbar(
['-',{
text: '详情',//当超级管理员点击某一行,再点击此按钮,弹出"详情"窗口
id: 'xiangQing',
handler: function(){ showWindowForm("xiangQing");setFormButton("xiangQing") }
},'-',{
text: '添加',
id: 'tianJia',
handler: function() { showWindowForm("tianJia");setFormButton("tianJia") }
},'-',{
text: '修改',
id: 'xiuGai',
handler: function() { showWindowForm;setFormButton }
},'-',{
text: '删除',
handler: function() {
var record2 = grid.getSelectionModel().getSelected();
if {
Ext.Msg.alert("信息","请选择您要删除的信息。");
}
else {
form.getForm().loadRecord;
Ext.Msg.confirm('确认对话框','你确定要删除这行信息吗?',function { //难道仅仅是因为 form 在 win 里,而不在 grid 里
if(btn=='yes') {
form.getForm().submit({ //就出现 form.getForm().findField 为空或不是对象
url: '../servlet/DepartmentType_delete', //等问题吗。???????????????????????????
success: function {
if(action.result.success) {
Ext.Msg.alert("信息",action.result.msg,function() {
grid.getStore().reload();
form.getForm;//清空form上一次提交的数据
})
}
},
failure: function() {
Ext.Msg.alert("信息","操作失败");
}
})
}
});
}
}
},'-']),
bbar: new Ext.PagingToolbar({ //分页工具栏 start
pageSize: 10,
store: store,
displayInfo: true,//显示数据信息
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录" //分页工具栏 end
})
});
// grid 设置 end

                      ds.load({params:{ start:0,limit:_pageSize} });
                     } 
                 });
               }    
               },
               { 
                text:"重置",handler:function()
                {      
                 fpanel.getForm().reset();  
       }    
               }
            ]   
    })
  win.show();
  // 因为重复使用window,有可能在修改后fpanel中还存在数据,所以要先重置

//当点击"添加"、"修改"按钮时,隐藏的form的"确定"按钮显示出来、并同时将"取消"按钮换回来,还要form中的所有textfield元素进入可编辑状态。而当点击"详情"按钮,则反之。
function setFormButton {
form.items.each(function eachItem(item,index,length){
if(item.isXType("textfield")){
if(text=="xiangQing")
item.readOnly=true; //有时这个设置有用,可有时他也没用。不过下面的Button的设置,保证了程序的安全性?????????????????????????
else
item.readOnly=false;
}
if (item.items && item.items.getCount {
item.items.each(eachItem, this);
}
},this);

<?php
header("Content:text/html;charset=utf-8");
$link = mysql_connect("localhost","root","123456")or die('error'.mysql_error());
mysql_select_db("stu",$link);
mysql_query('set names utf8');
$id = $_POST['id'];
$sql = "DELETE FROM men WHERE id={$id}";
if (mysql_query($sql))
{
 echo 1;
} else {
 echo 0;
}
?>

//定义所需窗口 window Start // window 设置 start 此窗口用于存放form
var win = new Ext.Window({
title: '浏览系部类型',
layout: 'fit',
width: 350,
height: 300,
closable: false, //隐藏关闭按钮
modal: true,
plain: true,
buttonAlign: 'center',
items:[form],
buttons: [{
text: '确定',
handler: function() {
if(!form.getForm().isValid {
return;
}
var id = form.getForm().findField.getValue();
if {
form.getForm().submit({
url: '../servlet/DepartmentType_add',
success: function {
if(action.result.success) {
Ext.Msg.alert("信息",action.result.msg,function() {
grid.getStore().reload();
form.getForm;
win.hide;
}
},
failure: function() {
Ext.Msg.alert("信息","添加失败");
}
});
}
else {
form.getForm().submit({
url: '../servlet/DepartmentType_fix',
success: function {
if(action.result.success) {
Ext.Msg.alert("信息",action.result.msg,function() {
grid.getStore().reload();
form.getForm;//清空form上一次提交的数据
win.hide;
}
},
failure: function() {
Ext.Msg.alert("信息","修改失败");
}
})
}
// win.hide();
}
},{
text: '取消',
handler: function() {
form.getForm;
win.hide();
}
}]
});
// //定义所需窗体 window 设置 end

复制代码 代码如下:

store.load({params:{start:0,limit:15}});

 //1、创建url访问类。
 var url = 'index.php';
 var _proxy = new Ext.data.HttpProxy({url:url});
 //2、数据问题参数
 var _jsonProperty = "totalProperty";
 //数据根目录参数
 var _jsonRoot = "root";
 //Record显示列表对应关系
 var _record = [{name:'id'},
             {name:'name'},
             {name:'pass'},
             {name:'sex'},
             {name:'email'}];
 //创建JSONReader对象,需要设置记录总数,根目录名称,记录映射
 var _reader = new Ext.data.JsonReader({totelPropetty:_jsonProperty,root:_jsonRoot},_record);
 /**
  * 封装一个客户端的Record对象缓存,为GridPanel提供数据入口
  * 需要两个必须的参数
  * 1、提供数据的地址:Proxy  代理类
  * 2、数据的读取方式:Reader 类,这里通过JsonReader读取
  */
 var _store = new Ext.data.Store({
  proxy:_proxy,
  reader:_reader
 });
 /**
 ColumnModel
 * 数据在页面上显示标题信息,
 * 顺序和Record对应
 * sortable 是否排序
 * dataIndex 进行对应的列,对应Record中的NAME
 *
 * handler方法中 第一个参数表示父类的对象,本例中为GridPanel对象。
 * 第二个参数表示第几行。
 * 第三个参数表示第几列。
 */
 var _cm = new Ext.grid.ColumnModel([
  new Ext.grid.RowNumberer(),
  new Ext.grid.CheckboxSelectionModel(),                                    
  {header:"ID",dataIndex:"id",width:50,sortable:true,menuDisabled:true},
  {header:"用户名",dataIndex:"name",width:80,sortable:true},
  {header:"密码",dataIndex:"pass",width:175,sortable:true},
  {header:"性别",dataIndex:"sex",width:145,sortable:true,renderer:renderSex},
  {header:"电子邮箱",dataIndex:"email",width:150,sortable:true}
 ]);
/////////////////////////搜索
 var logins = new Ext.form.FormPanel({
   id:'myform',//分配表单id
    title: '按用户名搜索',
    width: 400,
    defaultType: 'textfield',
    frame: true,
   // method: 'POST',
    collapsible: true,//可折叠
    bodyPadding: 5,

}

 }
 function jump()
 {
  logins.show();
 }
 //////////////////////////////

// form 设置 start
var form = new Ext.form.FormPanel({
labelAlign: 'right',
labelWidth: 40,
frame: true,
defaults: {
anchor: "90%",
allowBlank: false
},
height: 280,
width: 200,
defaultType: 'textfield',
items: [{
xtype: 'hidden',
name: 'id'
},{
fieldLabel: '名称',
id: 'name',
name: 'name'
},{
fieldLabel: '描述',
name: 'description',
xtype: 'textarea',
height:180,
maxLength: 127
}]
});
//form 设置 end

-- 表的结构 `men`

CREATE TABLE `men` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `name` varchar(50) collate utf8_unicode_ci NOT NULL,
  `pass` varchar(32) collate utf8_unicode_ci NOT NULL,
  `sex` varchar(10) collate utf8_unicode_ci NOT NULL,
  `email` varchar(50) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

if(text=="xiangQing")
win.buttons[0].hide();
else
win.buttons[0].show();

  logins.getForm().submit({ //提交表单事件

Extjs this.el.dom为空或不是对象
大家好,这个程序,有两处(?????????的地方)有问题,第一处我是想,动态改变form里textfiled的readOnly属性

  fpanel.getForm().reset();
 }

 
 /* 修改用户信息  */
 function updateUser()
 {
  var win_2;
  var a = 3;
  f();
  var selectedRecord = _grid.getSelectionModel().getSelected();   
  // 获得多个数据

-- phpMyAdmin SQL Dump
-- version 2.11.2.1

    layout: 'column',//列布局

 //_grid.render();
 /* 用户信息录入框,验证  */
 var fpanel;
 function f(){
 fpanel = new Ext.form.FormPanel
 ({   
  frame : true,//边框圆角并且有背景色   
  labelAlign : 'right',   
  waitMsgTarget : true,   
  autoScroll : true,   
  buttonAlign : 'center',   
  items : [
           {xtype:"hidden",name:"id"},
     {xtype:"textfield",fieldLabel:"用户名",name:"name",anchor : "-20",allowBlank:false,//是否允许为空
               blankText:"用户名不允许为空!",labelWidth : 20},
           {xtype:"radiogroup",fieldLabel:"性别",columns:2,allowBlank:false,blankText:"性别不允许为空!",items:[{boxLabel:'男',name:'sex',inputValue:'male'},{boxLabel:'女',name:'sex',inputValue:'female'}]},
     {xtype:"textfield",fieldLabel:"密码",name:"pass",allowBlank:false,//是否允许为空
                       blankText:"密码不允许为空!",anchor : "-20"},
     {xtype:"textarea",fieldLabel:"电子邮箱",name:"email",allowBlank:false,//是否允许为空
                           blankText:"邮箱不允许为空!",anchor : "-20"}
    ]
 });
}

Index.php文件

 }

<?php
header("Content:text/html;charset=utf-8");
$link = mysql_connect("localhost","root","123456")or die('error'.mysql_error());
mysql_select_db("stu",$link);
mysql_query('set names utf8');
$sql = "select count(*) num from men";
$num = mysql_query($sql);
$count = mysql_fetch_array($num);
$start = $_POST['start'];
$limit = $_POST['limit'];
$sql2 = "SELECT * FROM men limit {$start},{$limit}";
/*
if (!$_POST)
{
 $sql2 = "SELECT * FROM member";
} else {
 $sql2 = "select * from member limit {$start},{$limit}";
}
*/
$data = array();
$result = mysql_query($sql2);
while(!!$info = mysql_篮球世界杯在线投注,fetch_array($result,MYSQL_ASSOC))
{
 $data[] = $info;
}
//$j = json_encode($data);
$j = "{totalProperty:100,root:".json_encode($data)."}";
echo $j;
?>

  if (selectedRecord == undefined || selectedRecord == null)
  {  
   Ext.MessageBox.alert("提示", "请先选择一条记录!"); 
  } else {  
   win_2 = new Ext.Window
   ({   
    title : "修改用户",   
    width : 350,   
    height : 250,   
    closeAction : "hide",   
    plain : true,   
    modal : true,// 模态窗口,当打开当前窗口时,后面的内容被遮挡   
    bodyStyle : "padding:3px 0 0 3px",   
    //layout : "form",
    layout:"fit",   
    labelWidth : 55,   
    items : [fpanel],  
    buttons : [
               {text:"修改", handler:function()
        {fpanel.getForm().submit
                  ({       
          url:"edit.php",          
          method:"POST",          
          waitMsg:"数据修改中...",          
          success:function(form,action)
          {           
           win_2.hide();           
           Ext.MessageBox.alert("提示","数据修改成功");        
           _ds.reload();          
          },
          failure : function(form, action) { 
           win_2.hide();
           Ext.MessageBox.alert("提示","<font color='red'>数据修改失败</font>");
                       _ds.load();
                      }   
                  });      
        }     
               },
               {
                text : "重置",handler:function()
                {
                 fpanel.getForm().reset();
                }     
               },
               {
                text: '关闭',handler: function()
                {
                        win_2.close();
                 }
               }
              ]  
      });
  }
  win_2.show();
   // 将选中的数据load到window中显示  
  //alert(win_2);
  win_2.getComponent(0).getForm().loadRecord(selectedRecord);    

本文由计算机教程发布,转载请注明来源:解析Extjs与php数据交互(增删查改)