PDO实现学生管理系统


Posted in PHP onMarch 21, 2020

这里实现一个简单的学生管理系统,供大家参考,具体内容如下

需要建立如下文件:

  • index.php
  • menu.php //菜单栏
  • add.php  //添加数据
  • edit.php // 编辑数据
  • action.php // 添加,删除,编辑的实现

分别写一下每个文件的代码:

menu.php:

<html>
<h2>学生信息管理</h2>
<a href="index.php" rel="external nofollow" >浏览学生</a>
<a href="add.php" rel="external nofollow" >增加学生</a>
<hr>
</html>

index.php

<html>
 <head>
  <meta charset="UTF-8">
  <title>学生信息管理系统</title>
 </head>
 <script>
  function doDel(id){
   if(confirm("是否要删除")){
    window.location='action.php?action=del&id='+id;
   }
  }
 </script>
 <body>
  <center>
   <?php include("menu.php");?>
   <h3>浏览学生信息</h3>
   <table width="600" border="1">
    <tr>
     <th>ID</th>
     <th>姓名</th>
     <th>姓别</th>
     <th>年龄</th>
     <th>班级</th>
     <th>操作</th>
    </tr>
    <?php
     //1. 连接数据库
     try{
      $pdo = new PDO("mysql:host=localhost;dbname=myapp;", "root", "");
 
     }catch(PDOException $e){
      die("fail to connect db".$e->getMessage());
     }
     //2. 执行数据库,并解析遍历
     $sql = "SELECT * FROM users";
     foreach($pdo->query($sql) as $val){
      echo "<tr>";
      echo "<td>{$val['id']}</td>";
      echo "<td>{$val['name']}</td>";
      echo "<td>{$val['sex']}</td>";
      echo "<td>{$val['age']}</td>";
      echo "<td>{$val['class']}</td>";
      echo "<td>
         <a href='javascript:doDel({$val['id']})'>删除</a>
         <a href='edit.php?id={$val['id']}'>修改</a>
        </td>";
      echo "</tr>";
     }
    ?>
   </table>
 
  </center>
 </body>
</html>

add.php

<html>
<head>
 <meta charset="UTF-8">
 <title>学生信息管理系统</title>
</head>
<body>
<center>
 <?php include("menu.php");?>
 <h3>增加学生信息</h3>
 <form action="action.php?action=add" method="post">
  <table>
   <tr>
    <td>姓名</td>
    <td><input type="text" name="name"/></td>
   </tr>
 
   <tr>
    <td>姓别</td>
    <td>
     <input type="radio" name="sex" value="m"/>男
     <input type="radio" name="sex" value="w"/>女
    </td>
 
   </tr>
 
   <tr>
    <td>年龄</td>
    <td><input type="text" name="age"/></td>
   </tr>
 
   <tr>
    <td>班级</td>
    <td><input type="text" name="class"/></td>
   </tr>
 
   <tr>
    <td> </td>
    <td>
     <input type="submit" value="增加"/>
     <input type="submit" value="重置"/>
    </td>
 
   </tr>
  </table>
 </form>
</center>
</body>
</html>

edit.php

<html>
<head>
 <meta charset="UTF-8">
 <title>学生信息管理系统</title>
</head>
<body>
<center>
 <?php include("menu.php");
 //获取修改信息
 //1. 连接数据库
 try{
  $pdo = new PDO("mysql:host=localhost;dbname=myapp;", "root", "");
 
 }catch(PDOException $e){
  die("fail to connect db".$e->getMessage());
 }
 //2. 拼装sql语句,取出信息
 $sql = "SELECT * FROM users WHERE id=".$_GET['id'];
 $stmt = $pdo->query($sql);
 if($stmt->rowCount() > 0){
  $stu = $stmt->fetch(PDO::FETCH_ASSOC); //解析数据
 }else{
  die("没有修改的信息");
 }
 ?>
 <h3>修改学生信息</h3>
 <form action="action.php?action=edit" method="post">
 <!-- 以隐藏域的方式添加id  -->
  <input type="hidden" name="id" value="<?php echo $stu['id']; ?>">
  <table>
   <tr>
    <td>姓名</td>
    <td><input type="text" name="name" value="<?php echo $stu['name'];?>"/></td>
   </tr>
 
   <tr>
    <td>姓别</td>
    <td>
     <input type="radio" name="sex" value="m" <?php echo ($stu['sex']==
      "m")? "checked": ""; ?>/>男
     <input type="radio" name="sex" value="w" <?php echo ($stu['sex']==
      "w")? "checked": ""; ?>/>女
    </td>
 
   </tr>
 
   <tr>
    <td>年龄</td>
    <td><input type="text" name="age" value="<?php echo $stu['age'];?>"/></td>
   </tr>
 
   <tr>
    <td>班级</td>
    <td><input type="text" name="class" value="<?php echo $stu['class'];?>"/></td>
   </tr>
 
   <tr>
    <td> </td>
    <td>
     <input type="submit" value="修改"/>
     <input type="submit" value="重置"/>
    </td>
 
   </tr>
  </table>
 </form>
</center>
</body>
</html>

action.php

<?php
//1. 连接数据库
try{
 $pdo = new PDO("mysql:host=localhost;dbname=myapp;", "root", "");
 
}catch(PDOException $e){
 die("fail to connect db".$e->getMessage());
}
//2. 通过action的值做相应的操作
switch($_GET['action']){
 case "add": //增加操作
  $name = $_POST['name'];
  $sex = $_POST['sex'];
  $age = $_POST['age'];
  $class = $_POST['class'];
 
  $sql = "INSERT INTO users VALUES (null, '{$name}','{$sex}', '{$age}', '{$class}')";
  $rw = $pdo->exec($sql);
  if($rw > 0){
   echo "<script>alert('增加成功'); window.location='index.php'</script>";
  }else{
   echo "<script>alert('增加失败'); window.history.back()</script>";
  }
  break;
 case "del":
  $id = $_GET['id'];
  $sql = "DELETE FROM users WHERE id={$id}";
  $pdo->exec($sql);
  header("location:index.php");
  break;
 case "edit":
  $name = $_POST['name'];
  $sex = $_POST['sex'];
  $age = $_POST['age'];
  $class = $_POST['class'];
  $id = $_POST['id'];
 
  $sql = "UPDATE users SET name='{$name}',sex='{$sex}',age={$age},class={$class}
    WHERE id={$id}";
  $rw = $pdo->exec($sql);
  if($rw > 0){
   echo "<script>alert('修改成功'); window.location='index.php'</script>";
  }else{
   echo "<script>alert('修改失败'); window.history.back()</script>";
  }
  break;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
使用HMAC-SHA1签名方法详解
Jun 26 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
PHP用身份证号获取星座和生肖的方法
Nov 07 PHP
php 发送带附件邮件示例
Jan 23 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
PHP函数eval()介绍和使用示例
Aug 20 PHP
CI框架给视图添加动态数据
Dec 01 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 #PHP
YII2框架使用控制台命令的方法分析
Mar 18 #PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 #PHP
YII2框架中日志的配置与使用方法实例分析
Mar 18 #PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 #PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 #PHP
Laravel框架下的Contracts契约详解
Mar 17 #PHP
You might like
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
不安全的常用的js写法
2009/09/15 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
基于Python实现用户管理系统
2019/02/26 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
Python可以用来做什么
2020/11/23 Python
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
2013年学期结束动员演讲稿
2014/01/07 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
敬老院活动感想
2015/08/07 职场文书
基于angular实现树形二级表格
2021/10/16 Javascript