PHP学习笔记(14)班级和学生管理---学生
两个文件夹,一个班级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)班级和学生管理---学生的更多相关文章
- 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计
[转] C#学习笔记14——Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计 .NET Framework 命名空 ...
- Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法
Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法 Ext.Net GridPanel可以进行Group操作,例如: 如何启用Grouping功能呢?只需要在Grid ...
- SQL反模式学习笔记14 关于Null值的使用
目标:辨别并使用Null值 反模式:将Null值作为普通的值,反之亦然 1.在表达式中使用Null: Null值与空字符串是不一样的,Null值参与任何的加.减.乘.除等其他运算,结果都是Null: ...
- golang学习笔记14 golang substring 截取字符串
golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hel ...
- mybatis学习笔记(14)-查询缓存之中的一个级缓存
mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...
- Python3+Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )
!/usr/bin/env python -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )'''from selenium im ...
- 并发编程学习笔记(14)----ThreadPoolExecutor(线程池)的使用及原理
1. 概述 1.1 什么是线程池 与jdbc连接池类似,在创建线程池或销毁线程时,会消耗大量的系统资源,因此在java中提出了线程池的概念,预先创建好固定数量的线程,当有任务需要线程去执行时,不用再去 ...
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
[C++学习笔记14]动态创建对象 C#/Java中的反射机制 动态获取类型信息(方法与属性) 动态创建对象 动态调用对象的方法 动态操作对象的属性 前提:需要给每个类添加元数据 动态创建对象 实 ...
- blfs(systemv版本)学习笔记-编译安装ligtdm显示管理器
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! ligtdm带有显示管理器和登录器,参照我的笔记安装xorg和i3后安装lightdm,就可以组成一个简易的桌面环境了 下面是l ...
随机推荐
- What is required for a successful backup of all files during hoi backup?
There is a typo in the body of this question. It should be "Hot" instead of "hoi" ...
- PHP面向对象之接口 (interface)
1.使用接口,接口中指定了某个类必须实现的某些方法,这些方法都是空的(不需要定义这些方法的具体内容) 2. 要实现一个接口用关键字implements,类中必须包含接口中所有的方法,否则会出现一个致命 ...
- has been modified since the precompiled header地图错误
添加高德地图的一个错误 has been modified since the precompiled header 解决方案: xcode---product----clean 清理重新编译一下就 ...
- 使用WinScp连接远程服务器和传输文件
早在3月份,我就使用到了WinScp,WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议. 它的主要功能就是在本地与远程计算机间安全的复制文件..WinSc ...
- 算法笔记_082:蓝桥杯练习 12-1三角形(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 为二维空间中的点设计一个结构体,在此基础上为三角形设计一个结构体.分别设计独立的函数计算三角形的周长.面积.中心和重心.输入三个点,输出这 ...
- 解决64位操作系统下运行psql的问题
我的机器环境是 win7 64位.正常情况下,只需要安装plsql 和 oracle client,配置好 tnsname.ora 就能正常访问数据库.实际上遇到了几个问题. 1. 在tnsnames ...
- Manual close is not allowed over a Spring managed SqlSession(转)
最近用junit测试spring项目的时候,报错: Manual close is not allowed over a Spring managed SqlSession 意思是不允许手动关闭spr ...
- Linux 添加开机启动项的三种方法
linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh## This scri ...
- LaTeX 中使用三级标题
需要在导言区加入命令:\setcounter{secnumdepth}{4} 而后: \section{一级标题} \subsection{二级标题} \subsubsection{三级标题}
- ASP.Net 自定义HttpModule注册管道事件
背景: 一个请求在到达处理器时 可能需要做很多重复的工作 比如使用固定的算法推算出用户id 角色 如果在应用程序各处做重复解析 会产生大量代码冗余 还有能想到的诸如记录访问者 应用日志 统计流量 ...