一、建立数据库
这里省略
二、连接数据库公共文件
conn.php
<?php
//(1)数据库配置信息
$db_host="localhost"; //主机名
$db_port="3306"; //端口号
$db_user="root"; //用户名
$db_pass="root"; //密码
$db_name="dbname"; //数据库名
$charset="utf8"; //字符集
//(2)PHP连接MySQL服务器
if(!$link=@mysqli_connect($db_host.":".$db_port,$db_user,$db_pass))
{
echo "<h2>PHP连接MySQL服务器失败!</h2>";
echo "系统错误信息:".mysqli_connect_error();
die(); //中止程序向下运行,也可以用 exit([string $string])
}
//(3)选择当前数据库
if(!mysqli_select_db($link,$db_name))
{
echo "<h2>选择数据库{$db_name}失败!</h2>"
die();
}
//(4)设置数据库返回数据字符集
mysqli_set_charset($link,$charset);
?>
三、学生信息列表页
list.php
<?php
//包含连接数据库的公共文件
require_once("./conn.php")
//执行查询语句
$sql="SELECT * FROM student ORDER BY id DESC";
$result=mysqli_query($link,$sql);
//var_dump($result);
//获取所有行数据
$arrs=mysqli_fetch_all($result,MYSQLI_ASSOC);
//获取学生人数
$records=mysqli_num_rows($result);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生信息管理中心</title>
<script type="text/javascript">
function confirmDel(id)
{
//询问是否要删除?
if(window.confirm("你真的要删除吗?"))
{
//如果单击“确定”按钮,跳转到delete.php 页面
location.href="./delete.php?id="+id; //不是表单发送的就是GET
}
}
</script>
</head>
<body>
<div style="text-align:center;padding-bottom:10px;">
<h2>学生信息管理中心</h2>
<a href="./add.php">添加学生</a>
共有<font color=red><?php echo $result ?></font>个学生信息
</div>
<table width="600" border="1" align="center" rules="all" cellpadding="5">
<tr bgcolor='#ccc'>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>学历</th>
<th>工资</th>
<th>奖金</th>
<th>籍贯</th>
<th>操作选项</th>
</tr>
<?php
//循环二维数组
foreach($arrs as $arr)
{
?>
<tr align='center'>
<td><?php echo $arr['id']?></td>
<td><?php echo $arr['name']?></td>
<td><?php echo $arr['sex']?></td>
<td><?php echo $arr['age']?></td>
<td><?php echo $arr['edu']?></td>
<td><?php echo $arr['salary']?></td>
<td><?php echo $arr['bonus']?></td>
<td><?php echo $arr['city']?></td>
<td>
<a href="">修改</a> |
<a href="#" onClick="confirmDel(<?php echo $arr['id']?>)">删除</a>
</td>
</tr>
<?php
}
?>
</table>
</body>
注意:
require_once("./conn.php"); //不管写几遍,都只加载一次
require("./conn.php") ; //写几遍加载几次,容易造成函数重复。PHP不支持函数重载
四、删除学生信息
delete.php
<?php
//包含连接数据库的公共代码
require_once("./conn.php");
//获取地址栏传递的ID
$id=$_GET['id'];
//构建删除的SQL语言
$sql="DELETE FROM student WHERE id=$id";
//执行SQL语句
if(mysqli_query($link,$sql))
{
echo "<h2>id={$id}的记录删除成功!</h2>";
//告诉浏览器执行代码,等待3秒,并跳转到list.php文件
header("refresh:3;url=./list.php");
die();//终止程序向下运行
}else
{
echo "<h2>id={$id}的记录删除失败!</h2>";
//告诉浏览器执行代码,等待3秒,并跳转到list.php文件
header("refresh:3;url=./list.php");
die();//终止程序向下运行
}
?>
五、添加学生信息
(1)制作添加学生表单
<?php
//判断表单是否合法提交(防止黑客攻击)
if(isset($POST['token']) && $_POST['token'=="add"])
{
//获取表单提交数据
$name=$POST['name'];
$sex=$POST['sex'];
$age=$POST['age'];
$edu=$POST['edu'];
$salary=$POST['salary'];
$bonus=$POST['bonus'];
$city=$POST['city'];
//构建插入的SQL语句
$sql="INSERT INTO student VALUES(null,'$name','sex','age','edu','salary','bonus','city')";
//判断SQL语句是否执行成功
//执行SQL语句
if(mysqli_query($link,$sql))
{
echo "<h2>记录添加成功!</h2>";
//告诉浏览器执行代码,等待3秒,并跳转到list.php文件
header("refresh:3;url=./list.php");
die();//终止程序向下运行
}else
{
echo "<h2>记录添加失败!</h2>";
//告诉浏览器执行代码,等待3秒,并跳转到list.php文件
header("refresh:3;url=./list.php");
die();//终止程序向下运行
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生信息管理中心</title>
</head>
<body>
<div style="text-align:center;padding-bottom:10px;">
<h2>学生信息管理中心——添加学生</h2>
<a href="./list.php">返回</a>
</div>
<form method="post" action=""> //action="" 表示表单数据发给自己处理
<table width="400" bordercolor="#ccc" border="1" rules="all" align="center">
<tr>
<td width="80" align="right">姓名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td width="80" align="right">性别:</td>
<td><input type="radio" name="sex" value="男" checked>男</td>
<td><input type="radio" name="sex" value="女">女</td>
</tr>
<tr>
<td width="80" align="right">年龄</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td width="80" align="right">学历</td>
<td>
<select name="edu">
<option value="1">初中</option>
<option value="2">高中</option>
<option value="3" selected="selected">大专</option>
<option value="4">本科</option>
<option value="5">研究生</option>
</select>
</td>
</tr>
<tr>
<td width="80" align="right">工资:</td>
<td><input type="text" name="salary"></td>
</tr>
<tr>
<td width="80" align="right">奖金:</td>
<td><input type="text" name="bonus"></td>
</tr>
<tr>
<td width="80" align="right">籍贯:</td>
<td><input type="text" name="city"></td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="submit" value="提交">
<input type="hidden" name="token" value="add"> //add实际中改为随机值,防止非法提交
//服务器一份,表单一份,进行比对,防止
//黑客攻击
<input type="reset" value="重置">
</td>
</tr>
</table>
</body>
</html>