下面是关于“解析Extjs与php数据交互(增删查改)”的详细攻略:
解析Extjs与php数据交互(增删查改)
一、前言
Extjs是一款非常流行的前端框架,而php是一门广泛被应用的后端语言。将Extjs和php结合起来,可以实现灵活且功能丰富的Web应用程序。在本文中,我们将重点讲解如何在Extjs前端和php后端之间进行数据交互。
二、实现增删查改的数据交互
2.1 数据库设计
在开始实现数据交互之前,我们需要首先设计好数据库。在本文中,我们以一个简单的学生信息管理系统为例,数据库的表结构如下所示:
students:
- id INT(11) PRIMARY KEY
- name VARCHAR(50)
- age INT(11)
- gender CHAR(1)
2.2 Extjs代码实现
在Extjs中实现数据交互,需要使用store、model和grid等相关组件。下面是实现增删查改的Extjs代码示例:
2.2.1 model代码示例
Ext.define("StudentInfo.model.Student", {
extend: "Ext.data.Model",
alias: "model.student",
fields: [
{ name: "id", type: "int" },
{ name: "name", type: "string" },
{ name: "age", type: "int" },
{ name: "gender", type: "string" }
]
});
2.2.2 store代码示例
Ext.define("StudentInfo.store.Student", {
extend: "Ext.data.Store",
alias: "store.student",
model: "StudentInfo.model.Student",
proxy: {
type: "ajax",
url: "php/student.php",
reader: {
type: "json",
rootProperty: "data"
}
},
autoLoad: true
});
2.2.3 grid代码示例
Ext.define("StudentInfo.view.StudentGrid", {
extend: "Ext.grid.Panel",
alias: "widget.studentgrid",
title: "学生信息管理",
store: "StudentInfo.store.Student",
columns: [
{ text: "编号", dataIndex: "id" },
{ text: "姓名", dataIndex: "name" },
{ text: "年龄", dataIndex: "age" },
{ text: "性别", dataIndex: "gender" }
],
/*以下省略部分代码*/
});
2.3 php代码实现
在php代码中,我们需要实现增删查改的四个功能,分别是添加、查询、修改和删除。下面是实现这四个功能的php代码示例:
2.3.1 添加数据
<?php
//连接数据库
$con = mysqli_connect("localhost", "root", "123456", "studentinfo");
mysqli_set_charset($con, "utf8");
//获取传递的参数
$name = $_POST["name"];
$age = $_POST["age"];
$gender = $_POST["gender"];
//执行添加操作
$sql = "INSERT INTO students(name, age, gender) VALUES ('$name', $age, '$gender')";
mysqli_query($con, $sql);
//返回添加成功的信息
$result = new stdClass();
$result->success = true;
$result->message = "添加成功!";
echo json_encode($result);
//关闭数据库连接
mysqli_close($con);
?>
2.3.2 查询数据
<?php
//连接数据库
$con = mysqli_connect("localhost", "root", "123456", "studentinfo");
mysqli_set_charset($con, "utf8");
//执行查询操作
$sql = "SELECT * FROM students";
$result = mysqli_query($con, $sql);
$data = array();
while($row = mysqli_fetch_assoc($result)){
$data[] = $row;
}
//返回查询结果
$result = new stdClass();
$result->success = true;
$result->data = $data;
echo json_encode($result);
//关闭数据库连接
mysqli_close($con);
?>
2.3.3 修改数据
<?php
//连接数据库
$con = mysqli_connect("localhost", "root", "123456", "studentinfo");
mysqli_set_charset($con, "utf8");
//获取传递的参数
$id = $_POST["id"];
$name = $_POST["name"];
$age = $_POST["age"];
$gender = $_POST["gender"];
//执行修改操作
$sql = "UPDATE students SET name='$name', age=$age, gender='$gender' WHERE id=$id";
mysqli_query($con, $sql);
//返回修改成功的信息
$result = new stdClass();
$result->success = true;
$result->message = "修改成功!";
echo json_encode($result);
//关闭数据库连接
mysqli_close($con);
?>
2.3.4 删除数据
<?php
//连接数据库
$con = mysqli_connect("localhost", "root", "123456", "studentinfo");
mysqli_set_charset($con, "utf8");
//获取传递的参数
$id = $_POST["id"];
//执行删除操作
$sql = "DELETE FROM students WHERE id=$id";
mysqli_query($con, $sql);
//返回删除成功的信息
$result = new stdClass();
$result->success = true;
$result->message = "删除成功!";
echo json_encode($result);
//关闭数据库连接
mysqli_close($con);
?>
三、总结
通过本文的讲解,我们了解了如何在Extjs前端和php后端之间进行数据交互,并实现了一个基本的增删查改功能的示例。这样可以为我们的Web应用程序提供灵活且强大的后端支持。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解析Extjs与php数据交互(增删查改) - Python技术站