php编写一个学生类_0063 PHP编程编写学生分数信息编辑和删除功能网页
原标题:0063 PHP编程编写学生分数信息编辑和删除功能网页
上节课完成了一览查询页面和新建信息页面。
这节课继续完成编辑信息页面和删除数据功能。
编写一个编辑学生分数信息的页面
一般一个信息管理功能是从创建数据开始,然后可以一览查询,还有必须的功能包括修改这些数据以及删除这些数据。
这样4个功能就构成了一个完整的信息管理功能。
接下来编写一个编辑学生分数信息的页面。
新建2个文件studentedit.php和studentedit_do.php。可以将studentcreate.php复制粘贴后改名,然后修改某些地方。
studentedit.php修改如下:
studentedit_do.php修改如下:
注意此页面和创建功能页面的不同,就是学生ID是需要前一个页面传递过来的参数,否则就不知道应该编辑哪一个学生记录了。
将此文件部署到本地Web服务器的目录下,然后新开一个浏览器窗口访问此url,注意需要带上一个学生ID的参数信息:
可以看到,程序根据传递的ID去数据文件 中读取出对应的其它信息,并默认显示在可编辑的输入控件中了。
注意第一个ID是不可以编辑的。
然后修改这些信息:
然后点击保存按钮:
可以看到,返回信息说明数据修改成功,查看服务器后台的数据文件:
可以看到数据已经更新成功。
然后回到一览查询页面,点击查询按钮:
可以看到,刚才更新的数据显示在一览当中了。
将编辑网页链接到一览页面当中
由于编辑功能是针对一个具体的学生记录,因此需要将此链接放置在一览当中。
将每一行学生的姓名修改为一个链接,链接的url就是对应的编辑网页的url,传递的参数就是学生ID。
studentlist.php修改如下:
刷新一览页面,点击查询:
可以看到每一个姓名都是一个链接,点击此链接,弹出了一个新的网页窗口,进入编辑页面:
点击另外一个学生的姓名,进入对应的学生信息编辑:
增加删除功能
还差最后一个删除功能,就可以完成一个完整的数据管理功能了。
修改编辑页面,在保存按钮旁边增加一个删除按钮,然后根据fromtype区分来处理相应的删除逻辑。
删除逻辑就是遍历数据文件,根据ID找到对应的数据行,然后将此行数据从文本文件当中删除。
studentedit_do.php修改如下:
因为删除功能需要慎重一些,因此在点击此按钮的时候,需要增加一个确认的过程,使用Java实现:
studentedit.php修改如下;
刷新一览页面,点击某个学生的姓名,进入编辑页面:
点击删除按钮:
弹出确认窗口,点击“确定”:
可以看到弹出了提示信息“删除数据成功”,点击确定按钮后此窗口关闭。
查看服务器后台的数据文件:
可以看到删除的数据已经不存在了。
然后回到一览页面,点击查询:
可以看到刚才删除的数据已经看不到了。
重新开始完整测试
所有功能都完成之后,可以将测试数据全部删除,重新开始完整的测试。
进入服务器后台,使用文本编辑器打开studentdatas.txt文件,删除所有的数据:
打开浏览器,按照一下的次序进行测试:
1.进入一览页面,应该查询不到记录
2.输入不同的条件,应该都查询不到记录
3.进入新建页面,输入一个记录,关闭新建页面
4.进入一览页面,针对每一个单独的条件,测试查询到0个记录和1个记录的情况
5.点击姓名进入编辑页面,修改数据,保存后关闭编辑页面
6.进入一览页面,查询数据应该有变化
7.点击姓名进入编辑页面,删除数据后关闭页面
8.进入一览页面,应该查询不到记录
9.通过新建页面,创建不同的记录多条
10.进入一览页面,测试不同条件的组合查询出相应的记录
更方便的方法在哪里
前面完成了一个完整的数据信息维护的功能,使用的方式是读写文本文件的方式。
使用这种方式有很大的局限性,例如:
1.如果需要操作很多个数据文件,很麻烦,而且很多操作都是类似的重复,仅仅是文件名和数据字段不一样。
2.如果有多个数据文件有关联关系,需要同时操作,无法保证数据的完整性和一致性。
3.如果文件系统突然出错,没有数据容错和纠正机制。
4.如果网页是多人同时访问,多个进程同时操作文件,会产生文件锁住的问题。
当然,还有其它更多的问题,这里就不一一列出。
那么,针对这样非常共通性的问题,有没有更好的解决方案呢?
在IT行业可以使用数据库来解决以上的需求。
数据库就是对数据进行结构化存储和管理的仓库。
主要的目的就是通过统一的接口方式来存储和管理数据。
仓库提供了数据的创建,读取,编辑,删除等通用型功能。
可以使用SQL结构化查询语言对数据库进行访问。
后面几节课将对数据库和SQL进行详细说明,并将学生信息数据修改为使用数据库来存储管理。返回搜狐,查看更多
责任编辑:
php编写一个学生类_0063 PHP编程编写学生分数信息编辑和删除功能网页相关推荐
- JAVA 编写一个员工类,成员变量和成员方法自拟,编写一个测试类
课后习题练习 3.4 编写程序实现以下功能: (1).员工类(Emploee):c=成员变量包含员工号和员工姓名,成员方法包含构造方法和输出方法(输出员工信息). (2). 部门主管类(Manager ...
- 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对
#java编程基础 以后会时常更新java编程题,分享所遇之难,答疑解惑,共同努力. 本关任务:编写一个Point类,有x.y两个属性.编写一个PointDemo类,并提供一个distance(Poi ...
- java编写计算类加减乘除_老师要求张浩使用面向对象的思想编写一个计算器类(Calculator),可以实现两个整数的加减乘除的运算.java...
导航:网站首页 > 老师要求张浩使用面向对象的思想编写一个计算器类(Calculator),可以实现两个整数的加减乘除的运算.java 时间:2019-4-10 老师要求张浩使用面向对象的思想编 ...
- 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。
定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法. 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值. public cla ...
- 【java】编写一个圆柱体类Cylinder,它继承于Circle类
编写一个圆柱体类Cylinder,它继承于上面的Circle类.还拥有: ①一个成员变量 double hight(私有,浮点型): // 圆柱体的高: ②构造方法 Cylinder (double ...
- 编写一个圆类Circle
编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型): // 存放圆的半径: ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) ...
- 编写一个程序。要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件“data.txt”中,然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出他们的平均数,然
编写一个程序.要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件"data.txt"中,然后再编写一个程序,从文件"data.txt"中读取这5 ...
- .设计一个Student类,该类中包括学生的姓名和成绩。创建Student类的5个对象,如下所示: 姓名 成绩 刘德华 85 张学友 100 刘杰 65 章子怡 58 周迅 76 将以上5个对象
.设计一个Student类,该类中包括学生的姓名和成绩.创建Student类的5个对象,如下所示: 姓名 成绩 刘德华 85 张学友 100 刘杰 65 章子怡 58 周迅 76 将以上5个对象放入A ...
- java编写一个圆环类Ring_编写一个圆环类ring的java程序
<编写一个圆环类ring的java程序>由会员分享,可在线阅读,更多相关<编写一个圆环类ring的java程序(1页珍藏版)>请在金锄头文库上搜索. 1.编写一个圆环类 Rin ...
- 2-3 编写一个三角形类
编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法. 如果这3个数据满足构成三角形的条件,直接构造三角形.否则,如果3个数的最大值大于0,则自动构造以最大值为边的等 ...
最新文章
- Newtonsoft.Json.dll 本地调用正常,服务器调用不正常
- 搞java不细心_Java 2 (基础总结)
- 重磅!神策客户服务中心升级,5 年,价值释放加速度
- c++中实现delphi的按类名生成类对象
- 海龟交易法则01_玩风险的交易者
- Android - 返回上一个界面finish()方法
- 3:基于乐观锁(两种)控制并发: version、external锁
- kdj买卖指标公式源码_买卖点KDJ版指标详解 通达信通达信KDJ
- 能上天的代码? NASA 火星无人机飞行控制系统开源了
- CSS3实现缺角矩形,缺角边框以及折角矩形
- AS连接MUMU模拟器
- ESP32实践FreeRTOS
- Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)、无人车等模拟实验平台
- mysql 图片路径用什么类型_mysql数据库怎么存图片路径
- word常用技巧教程
- java 判断字符串重排后是否等于另一个字符串,包括空格符
- Office这么多版本傻傻分不清,到底哪个版本好用?
- 菌外膜囊泡包载的阿霉素纳米粒|巨噬细胞膜囊泡包四氧化三铁二氧化硅纳米粒
- 常见的几种web容器(Apache、Nginx、Tomcat)
- Excel地址 C语言
热门文章
- 降低大数据分析门槛,HashData打造云端数据仓库
- 【预测模型】基于matlab离散状态空间模型模拟预测控制仿真系统(单输入单输出)【含Matlab源码 1537期】
- 毕设题目:Matlab表盘识别
- 【优化分类】基于matlab GA优化GRNN超参数分类【含Matlab源码 1399期】
- 【图像隐写】基于matlab DCT数字水印添加+提取+干扰【含Matlab源码 803期】
- 【优化求解】基于matlab遗传算法求解资源配置优化问题【含Matlab源码 436期】
- 获得学士学位的机器学习工程工作
- python:argsort(返回元素排序后的索引值)
- docker mysql 备份_docker mysql数据备份xtrabackup
- 我的世界java营火如何合成_我的世界:营火在1.15版本中得到加强?它的六个用途别忘了!...