两个文件夹,一个班级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. [转]SSIS: Execute Package via Stored Procedure

    本文转自:http://sqlblog.de/blog/2009/09/ssis-execute-package-via-stored-procedure/ There are two options ...

  2. C++迭代器之'反向迭代器'

    反向迭代器(Reverse Iterator)是普通迭代器的适配器,通过重新定义自增和自减操作,以达到按反序遍历元素的目的.如果在标准算法库中用反向迭代器来代替普通的迭代器,那么运行结果与正常情况下相 ...

  3. 同步和异步 阻塞和非阻塞 IO多路复用和select总结

    同步和异步的概念 同步是指用户线程发起IO请求后,需要等待或者轮询内核IO操作完成后才能继续执行: 异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程或者调用用户线程注册的回 ...

  4. solr 高亮显示

    官网:https://lucene.apache.org/solr/guide/6_6/highlighting.html#Highlighting-TheUnifiedHighlighter 前言 ...

  5. 百度编辑器上传大视频报http请求错误怎么办

    百度编辑器UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码,所以受到很多开放人员的青睐.但是有时 ...

  6. Java笔记12:Java对象排序

    代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...

  7. 这里先发布一个,自己写得unityUI的适配的方案(插播)

    这个适配是依据坐标系的象限的思想来进项适配的.參考了部分的NGUI的适配方案. 在程序的事实上,来測量UI距离相机边界的像素然后依据比例来进行适配,个人认为还不错. 放码! . 有个前提哦就是你要先定 ...

  8. 小程序数组合并concat

      arr1=arr1.concat(arr2)   文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注,有问题一起学习欢迎留言.评论.

  9. ant design pro 初识

    发送请求 上次讲到在api.js中发送请求,模拟了假数据,这次讲一下调用真实接口进行请求并渲染页面. 先完整的过一遍请求吧 首先view层发送请求例如下面的代码: componentDidMount( ...

  10. iOS_Xcode怎样准确定位到产生异常的出错代码

    当应用程序出现异常而导致崩溃时, 可能光标仅仅提示异常出如今主函数代码处,例如以下图所看到的: 这样的情况下.即使看了日志. 也可能仍不清楚详细是哪一句代码产生了异常. 因此,须要手动设置异常断点. ...