起步 - 实践-学生管理

  • 作者:KK

  • 发表日期:2016.5.23


点击下载示例代码

代码安装

解压出add_student这个文件夹后放到网站目录里,然后访问http://localhost/add_student 即可


代码讲解

  • 列表

    访问的时候默认运行了index.php,里面的header函数让页面跳转到了list.php(此时可以看到浏览器上的网址变成list的了)

    好了其实一切从list.php开始,这个页面先判断了是否有data.json,有的话就读出里面的数据并用for循环输出HTML实现了数据列表的显示,但由于一开始是没有数据的,所以这里数据列表最终没有显示出来


  • 添加

    另外在列表的顶部还显示了一个添加表单,输入姓名,年龄和性别后点击“添加”按钮就会请求add.php

    在add.php里include了common.php,这个common.php是一个公共函数库,其它页面也会用到的

    然后开始使用post这个公共函数获取前端表单发来的数据并做了简单的判断和报错逻辑,你可以试下不输入姓名就点添加,会提示你“请输入姓名”的

    校验完毕后就通过getStudentList函数从data.json里取出了一个数组,并往这个数组里新加了一个学生信息数组

    再调用saveStudentList函数将这个装有学生信息的数组保存到了data.json里

    于是再返回list.php时就能从data.json中读出学生信息来显示了


  • 修改

    这里你要了解编程中的一个知识:要操作某个数据时,就需要某个数据的标识

    在列表页学生后面的“修改”按钮链接中,有一个名为id的GET参数,点击后去到了edit-page.php这个修改页面

    在修改页面接收了id参数后,通过id参数从data.json中找到了要修改的id的学生,因为如果没有id的话就不知道要修改哪个学生了,所以id就是每个学生的唯一标识,就算姓名相同,id也不会相同(就像我们的身份证号码)

    然后就输出表单,并设置表单的默认值为这个id学生的信息

    填写完修改的内容后点提交就请求到edit.php,edit.php的处理逻辑有点儿像add.php,不同点在于它是先通过getStudent读出要修改的学生内容,将重新修改的内容赋值后再用saveStudent来将这些重新赋值了的信息保存回去


  • 删除

    删除的时候也要传一个学生id告诉PHP要删除哪个学生,你也应该能从超级链接地址上看到是delete.php

    先读出学生列表,并for循环扫描这个列表,看看哪个学生的id是指定要删除的id,找到后把这个数组元素unset掉,这样数组就失去了这个元素

    再把数组重新json_encode保存进data.json,这样数据文件里就不见了这个被删除的学生信息了

    回到列表里的时候,读出来的列表内容自然是没有了删除的学生啦


本例子的代码组织并不优秀,主要是表达数据的增删改查操作的主要逻辑,PHP程序员写的程序经常要对数据做添加、修改、删除、查询的处理,所以熟悉这些操作的基本逻辑很重要,每一个PHP程序员都要会的。