两个文件夹,一个班级cls,一个学生stu。

两个表,一个班级cls,一个学生stu。

每个文件夹里有7个php文件:主界面stu.php-------增add.php,insert.php-------删delete.php-------改edit.php,update.php-------数据库sql.php

学生主界面cls.php

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生信息</title>
</head>
<body>
<center>
<h1>学生信息|<a href="add.php">添加学生</a></h1>
<table width="600px" border="1px">
<tr>
<th>id</th>
<th>姓名</th>
<th>班级</th>
<th>cid</th>
<th>修改</th>
<th>删除</th>
</tr>
<?php
include'sql.php';
$sql = "select * from stu";
$rst = mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
echo "<tr>";
echo "<td>$row[id]</td>";
echo "<td>$row[name]</td>";
echo "<td>$row[classname]</td>";
echo "<td>$row[cid]</td>";
echo "<td><a href='edit.php?id={$row[id]}&name={$row[name]}&classname={$row[classname]}&cid={$row[cid]}'>修改</a></td>";
echo "<td><a href='delete.php?id={$row[id]}'>删除</a></td>";
echo "</tr>";
}
mysql_close(); ?>
</table>
</center>
</body>
</html>

增add.php

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>添加学生</title>
</head>
<body>
<form action="insert.php" method="get">
<center>
<table>
<h1>添加学生</h1>
<tr>
<td>姓名</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>班级</td>
<td>
<select name="classname" id="">
<?php
include'sql.php';
$sql = "select * from cls";
$rst = mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
echo "<option value='{$row[name]}'>{$row[name]}</option>";
}
mysql_close();
?>
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
</tr>
</table>
</center>
</form>
</body>
</html>

增insert.php

 <?php
include'sql.php';
$name = $_GET['name'];
$classname = $_GET['classname'];
$sql1 = "SELECT id FROM cls WHERE name='{$classname}'";
$rst1 = mysql_query($sql1);
$row = mysql_fetch_array($rst1);
$sql = "INSERT INTO stu(name,cid,classname) VALUES('{$name}','{$row[id]}','{$classname}')";
mysql_query($sql);
echo "<script>alert('添加成功')</script>";
echo "<script>location='stu.php'</script>"; ?>

删delete.php

 <?php
$id = $_GET['id'];
include'sql.php';
$sql = "DELETE FROM stu WHERE id={$id}";
mysql_query($sql);
echo "$sql";
echo "<script>location='stu.php'</script>"; ?>

改edit.php

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>修改学生</title>
</head>
<body>
<?php
$id = $_GET['id'];
$name = $_GET['name'];
$classname = $_GET['classname'];
$cid = $_GET['cid']; ?>
<form action="update.php" method="get">
<table border="1px">
<input type="hidden" name='id' value="<?php echo "$id"; ?>">
<input type="hidden" name='cid' value="<?php echo "$cid"; ?>">
<tr>
<td>
姓名修改为
</td>
<td>
<input type="text" name="newname" value="<?php echo "{$name}"; ?>">
</td>
</tr>
<tr>
<td>班级修改为</td>
<td align='center'>
<select name="newclassname" id="">
<?php
include'sql.php';
$sql = "select * from cls";
$rst = mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
if ($row[name]==$classname) {
echo "<option value='{$row[name]}' selected='selected'>{$row[name]}</option>";
}else{
echo "<option value='{$row[name]}'>{$row[name]}</option>";
}
}
mysql_close();
?>
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>

改update.php

 <?php
include'sql.php';
$newname = $_GET['newname'];
$newclassname = $_GET['newclassname'];
$id = $_GET['id'];
// $cid = $_GET['cid'];
$sql1 = "SELECT id FROM cls WHERE name='{$newclassname}'";
$rst = mysql_query($sql1);
$row = mysql_fetch_array($rst);
$sql = "UPDATE stu SET name='{$newname}',classname='{$newclassname}',cid='{$row[id]}' WHERE id={$id}";
mysql_query($sql);
mysql_close();
echo "<script>alert('修改成功! ');location='stu.php'</script>";
?>

数据库sql.php

 <?php
mysql_connect('localhost','root','123');
mysql_select_db(myclass);
?>

PHP学习笔记(14)班级和学生管理---学生的更多相关文章

  1. 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计

    [转] C#学习笔记14——Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计   .NET Framework 命名空 ...

  2. Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法

    Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法 Ext.Net GridPanel可以进行Group操作,例如: 如何启用Grouping功能呢?只需要在Grid ...

  3. SQL反模式学习笔记14 关于Null值的使用

    目标:辨别并使用Null值 反模式:将Null值作为普通的值,反之亦然 1.在表达式中使用Null: Null值与空字符串是不一样的,Null值参与任何的加.减.乘.除等其他运算,结果都是Null: ...

  4. golang学习笔记14 golang substring 截取字符串

    golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hel ...

  5. mybatis学习笔记(14)-查询缓存之中的一个级缓存

    mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...

  6. Python3+Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )

    !/usr/bin/env python -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )'''from selenium im ...

  7. 并发编程学习笔记(14)----ThreadPoolExecutor(线程池)的使用及原理

    1. 概述 1.1 什么是线程池 与jdbc连接池类似,在创建线程池或销毁线程时,会消耗大量的系统资源,因此在java中提出了线程池的概念,预先创建好固定数量的线程,当有任务需要线程去执行时,不用再去 ...

  8. [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good

    [C++学习笔记14]动态创建对象   C#/Java中的反射机制 动态获取类型信息(方法与属性) 动态创建对象 动态调用对象的方法 动态操作对象的属性 前提:需要给每个类添加元数据 动态创建对象 实 ...

  9. blfs(systemv版本)学习笔记-编译安装ligtdm显示管理器

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! ligtdm带有显示管理器和登录器,参照我的笔记安装xorg和i3后安装lightdm,就可以组成一个简易的桌面环境了 下面是l ...

随机推荐

  1. ArcGIS Server的切图原理深入【转】

    http://blog.newnaw.com/?p=69 GoogleMap,Virtual Earth,YahooMap等,目前所有的WebGIS都使用了缓存机制以提高地图访问速度.原理都是将地图设 ...

  2. jsp页面数据回显(select下拉选择框)

    1.静态变量方式: <!-- 实现select标签回显 --> 1.<select name="curStatus" value="${curStatu ...

  3. minic 类型声明与变量定义句型处理

    #include "token_define.h" //这个文件是用来处理句型的,对于算术表达式都是放在前面的那个头文件中来处理 typedef struct _handle_tr ...

  4. vue - for遍历数组

    注释上,也很清楚了哈. 1. item是循环名字,items是循环的数组 <!DOCTYPE html> <html lang="en"> <head ...

  5. silverlight客户端保存文件乱码问题

    最近做一个项目,有一个需求是这样的:服务端从数据库里获得数据,客户端保存为Excel文件 最初解决方案:服务端获得数据,通过ExcelPackage,Convert.ToBase64String将by ...

  6. TI BSL in python

    今天花了一下午在这个上面,被这个工具整没脾气了快.花点功夫记录一下. 代码是在linux下下过来的: bzr branch lp:python-msp430-tools 看了下,有我想要的器件.然后想 ...

  7. python小写转大写金额

    python小写转大写金额 摘自:http://shine-it.net/index.php?topic=14575.0 def _rmb_upper(self, value): "&quo ...

  8. sqlserver远程备份到其他服务器

    直接将数据库备份到其他机器上 --如果xp_cmdshell没有启用,请先启用 sp_configure reconfigure go sp_configure reconfigure go --1. ...

  9. 用interrupt()中断Java线程

    最近在学习Java线程相关的东西,和大家分享一下,有错误之处欢迎大家指正. 假如我们有一个任务如下,交给一个Java线程来执行,如何才能保证调用interrupt()来中断它呢? class ATas ...

  10. Visual studio之C# 调用系统软键盘(外部"osk.exe")

    背景 App需要调用系统软键盘输入数据,自己去实现软键盘有些复杂,现在又是急需,没时间去研究实现软键盘,所以只能调用系统软键盘. 正文 需要添加命名空间, using System.Diagnosti ...