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 相关文章推荐
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
php接口技术实例详解
Dec 07 PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
php异常处理捕获错误整理
2019/09/23 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
python删除某个字符
2018/03/19 Python
致跳远、跳高运动员广播稿
2014/01/09 职场文书
植树节口号
2014/06/21 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
工商局调档介绍信
2015/10/22 职场文书
python库sklearn常用操作
2021/08/23 Python
Python实现信息管理系统
2022/06/05 Python
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL