一、建立數據庫
這裏省略
二、連接數據庫公共文件
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>