PHP案例:学生信息管理系统
-- Database: test
-- 表的结构 message
CREATE TABLE `message` (
`id` tinyint(1) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`sex` varchar(50) NOT NULL,
`age` tinyint(1) NOT NULL,
`classid` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
index.php

<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>学生信息管理</title>
<script>
function doDel(id) {
if (confirm("确定要删除么?")) {
window.location = 'action.php?action=del&id=' + id;
}
}
</script>
</head>
<body>
<center>
<?php
include_once "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=test;", "root", "");
} catch (PDOException $e) {
die("数据库连接失败" . $e->getMessage());
}
//2.解决中文乱码问题
$pdo->query("SET NAMES 'UTF8'");
//3.执行sql语句,并实现解析和遍历
$sql = "SELECT * FROM message ";
foreach ($pdo->query($sql) as $row) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['sex']}</td>";
echo "<td>{$row['age']}</td>";
echo "<td>{$row['classid']}</td>";
echo "<td>
<a href='javascript:doDel({$row['id']})'>删除</a>
<a href='edit.php?id=({$row['id']})'>修改</a>
</td>";
echo "</tr>";
}
?>
</table>
</center>
</body>
</html>
menu.php
<!DOCTYPE html>
<html lang="en">
<body>
<h2>学生管理系统</h2>
<a href="index.php"> 浏览学生</a>
<a href="add.php"> 添加学生</a>
<hr>
</body>
</html>
add.php
<html>
<head>
<title>学生信息管理</title>
</head>
<body>
<center>
<?php include("menu.php"); ?>
<h3>增加学生信息</h3>
<form method="post" action="action.php?action=add">
<table>
<tr>
<td>姓名</td>
<td><input name="name" type="text"/></td>
</tr>
<tr>
<td>性别</td>
<td><input type="radio" name="sex" value="男"/> 男
<input type="radio" name="sex" value="女"/> 女
</td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" /></td>
</tr>
<tr>
<td>班级</td>
<td><input name="classid" type="text"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="增加"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>


edit.php
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理</title>
</head>
<body>
<center>
<?php
include_once "menu.php";
//1.连接数据库
try {
$pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "");
} catch (PDOException $e) {
die("数据库连接失败" . $e->getMessage());
}
//2.防止中文乱码
$pdo->query("SET NAMES 'UTF8'");
//3.拼接sql语句,取出信息
$sql = "SELECT * FROM message WHERE id =" . $_GET['id'];
$stmt = $pdo->query($sql);//返回预处理对象
if ($stmt->rowCount() > 0) {
$stu = $stmt->fetch(PDO::FETCH_ASSOC);//按照关联数组进行解析
} else {
die("没有要修改的数据!");
}
?>
<form method="post" action="action.php?action=edit">
<input type="hidden" name="id" id="id" value="<?php echo $stu['id']; ?>"/>
<table>
<tr>
<td>姓名</td>
<td><input id="name" name="name" type="text" value="<?php echo $stu['name'] ?>"/></td>
</tr>
<tr>
<td>性别</td>
<td><input type="radio" name="sex" value="男" <?php echo ($stu['sex'] == "男") ? "checked" : "" ?>/> 男
<input type="radio" name="sex" value="女" <?php echo ($stu['sex'] == "女") ? "checked" : "" ?>/> 女
</td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" id="age" value="<?php echo $stu['age'] ?>"/></td>
</tr>
<tr>
<td>班级</td>
<td><input id="classid" name="classid" type="text" value="<?php echo $stu['classid'] ?>"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="修改"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
action.php
<?php
//1.连接数据库
try{
$pdo = new PDO("mysql:host=localhost;dbname=test;","root","");
}catch(PDOException $e){
die("数据库连接失败".$e->getMessage());
}
//2.通过action的值做地应操作
switch($_GET['action']){
case "add"://增加操作
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$sql = "insert into message values(null,'{$name}','{$sex}','{$age}','{$classid}')";
$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 message where id={$id}";
$pdo->exec($sql);
header("Location:index.php");
break;
case "edit":
//1.获取表单信息
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$id = $_POST['id'];
$sql = "update message set name='{$name}',sex='{$sex}',age={$age},classid={$classid} 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案例:学生信息管理系统的更多相关文章
- 面向对象案例-学生信息管理系统V0.6
更新版本 面向对象案例 - 学生信息管理系统V1.0 项目要求: 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的方法 1. ...
- 面向对象案例 - 学生信息管理系统V1.0
学生管理系统项目[所有知识点整合] 1. 学生管理系统项目 尝试完成以下功能 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的 ...
- 面向对象案例-学生信息管理系统V1.1
1.学生类 package com.qfedu.student.entity; /** * 学生类实体 * * @author GGGXXC * */ public class Student { p ...
- Android(java)学习笔记195:学生信息管理系统案例(SQLite + ListView)
1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...
- Android(java)学习笔记188:学生信息管理系统案例(SQLite + ListView)
1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...
- Py学生信息管理系统 案例(优化版)
# 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
- 基于数据库MySQL的简易学生信息管理系统
通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...
- C++ 简单的学生信息管理系统
// // main.cpp // 2013-7-17作业1 // // Created by 丁小未 on 13-7-17. // Copyright (c) 2013年 dingxiaowei. ...
随机推荐
- yaha分词
yaha分词:https://github.com/jannson/yaha
- C基础测试
一.用指针的方法,把输入的一个字符串按逆序重新排序其字符,并输出. #include <stdio.h> #include <string.h> void main( ) { ...
- nginx安装说明
下载地址:http://nginx.org/en/download.html 安装版本:1.10.0 安装配置如下: /etc/nginx 目录 /home/nginx目录 --prefix=/hom ...
- Maven中setting.xml配置Demo
<!-- 指定本地默认仓库 --> <localRepository>G:\Java\apache-maven-3.5.2\repository</localReposi ...
- SurfaceView绘制录音波形图
本文简单记录由View绘制转为SurfaceView绘制的波形图问题. 上代码: public class VoiceLineView extends View { private final int ...
- 算法笔记_158:算法提高 逆序排列(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后程序将把这个数组中的值按逆序重新存 ...
- 调整 firefox 源代码查看器的字体
默认的 firefox 源代码查看器的字体很不好看,不适合阅读代码.想要修改,又没有发现入口.如何修改呢?实际上在选项里的字体就能改.方法如下: 打开选项页,在字体一栏点击高级,把等宽字体由“宋体”改 ...
- easyui datebox 扩展清空按钮
/** * 给时间框控件扩展一个清除的按钮 */ $.fn.datebox.defaults.cleanText = '清空'; (function ($) { var buttons = $.ext ...
- Annotation:系统内建Annotation
1,掌握系统内建的三个Annotation. Annotation被称为元数据特效,也被称为注释,即:使用注释方式,加入一些程序信息. Java.lang.annotation接口是所有Annotai ...
- linux下自己下载的程序装哪?
有两个选择: /usr/local:类似于C:\Program Files /opt:类似于D:\soft 其实都可以,关键是保持一致.