(∩_∩)
1.概述
学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合。最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScript和PHP,数据库用到了MySQL。麻雀虽小,五脏俱全。算是对这些知识的一次总结吧。
2.源码
工程包括5个php文件:
index.php,负责首页展现;
menu.php,负责前台的菜单实现;
add.php,负责添加页面的实现;
edit.php,负责编辑页面的实现;
action.php,负责对增删查改操作的实现。
index.php
menu.php
add.php
edit.php
action.php
1 <?php 2 //1.连接数据库 3 try { 4 $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", ""); 5 6 } catch (PDOException $e) { 7 die("数据库连接失败" . $e->getMessage()); 8 } 9 //2.防止中文乱码 10 $pdo->query("SET NAMES 'UTF8'"); 11 //3.通过action的值进行对应操作 12 switch ($_GET['action']) { 13 case 'add':{ //增加操作 14 $name = $_POST['name']; 15 $sex = $_POST['sex']; 16 $age = $_POST['age']; 17 $classid = $_POST['classid']; 18 19 //写sql语句 20 $sql = "INSERT INTO stu VALUES (NULL ,'{$name}','{$sex}','{$age}','{$classid}')"; 21 $rw = $pdo->exec($sql); 22 if ($rw > 0) { 23 echo "<script> alert('增加成功'); 24 window.location='index.php'; //跳转到首页 25 </script>"; 26 } else { 27 echo "<script> alert('增加失败'); 28 window.history.back(); //返回上一页 29 </script>"; 30 } 31 break; 32 } 33 case "del": { //1.获取表单信息 34 $id = $_GET['id']; 35 $sql = "DELETE FROM stu WHERE id={$id}"; 36 $pdo->exec($sql); 37 header("Location:index.php");//跳转到首页 38 break; 39 } 40 case "edit" :{ //1.获取表单信息 41 $id = $_POST['id']; 42 $name = $_POST['name']; 43 $sex = $_POST['sex']; 44 $classid = $_POST['classid']; 45 $age = $_POST['age']; 46 47 $sql = "UPDATE stu SET name='{$name}',sex='{$sex}',age='{$age}',classid='{$classid}' WHERE id='{$id}'"; 48 $rw=$pdo->exec($sql); 49 if($rw>0){ 50 echo "<script>alert('修改成功');window.location='index.php'</script>"; 51 }else{ 52 echo "<script>alert('修改失败');window.history.back()</script>"; 53 } 54 55 56 break; 57 } 58 59 }
3.效果
4.总结
(1)在做这个小工程时,感觉自己有了很大提高。想到从前台的改变,直接对数据库实现了操作,很神奇。发现自己的弱点是数据传输,利用参数传递比较薄弱。对于JavaScript脚本的使用还很生硬。
(2)在写的过程中遇到了编码的问题,在这里说明对于服务器的字符集,数据库的字符集,每张表的字符集,页面的字符集都要一致,最好是都设置成UTF-8,然后为了解决从数据库取出数据时的中文乱码问题,在php中连接数据库后就需要执行一句:“SET NAMES 'UTF8'”。
由于我用的xampp,需要在创建表时,选择general_utf8_ci的字符集。