前言:最近学了一点PHP的皮毛,下面就来卖弄一下这点皮毛。注:纯粹是为了个人理解特此记录。没有很好看的页面也没有很酷炫的逻辑。
一、目录结构
也没有什么结构,简单的很:
数据库结构,这个更简单了,只是为了实现一下效果,就只有一张表:
二、首页实现数据的渲染
- 先建立好表头
- 通过PHP语法连接数据库然后遍历数据库的数据并渲染出来
dbhtml.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CRUD</title>
</head>
<body>
<table width="100%" border='1' cellpadding="0" cellspacing="0">
<tr>
<td>编号</td>
<td>姓名</td>
<td>性别</td>
<td>专业</td>
<td>操作</td>
</tr>
<?php
//连接数据库
$db = new mysqli("localhost","root","homyit19","phpcrud");
//SQL语句
$sql = "select * from student";
$r = $db->query($sql);//执行sql语句将结果返回给r
if($r){
while($attr = $r->fetch_row()){
echo"
<tr>
<td>{
$attr[0]}</td>
<td>{
$attr[1]}</td>
<td>{
$attr[2]}</td>
<td>{
$attr[3]}</td>
<td>
<a href='delete.php?id={
$attr[0]}'>删除</a>
<a href='update.php?id={
$attr[0]}'>修改</a>
</td>
</tr>";
}
}
?>
</table>
<a href="insert.php">添加</a>
</body>
</html>
说明:
query()
是 d b 的 一 个 对 象 方 法 , 即 根 据 指 定 的 db的一个对象方法,即根据指定的 db的一个对象方法,即根据指定的sql查询语句去执行一个查询,并将结果返回给$r。mysqli_fetch_row()
方法是将结果中取得一行,并作为枚举数组返回。
三、删除操作
- 删除操作要根据主键来进行删除,这里的主键是id,通过首页传入要删除的id,通过这个id再去数据库里找到相应的数据并进行删除
delete.php
<?php
$id = $_GET["id"]; //获取传进来的id
$db = new mysqli("localhost","root","homyit19","phpcrud");
//写删除的sql语句
$sql = "delete from student where id='{
$id}'";
//删完就返回主页面
if($db->query($sql)){
header("location:dbhtml.php");
}
else{
echo "删除失败";
}
?>
四、修改操作
- 要进行修改必要新建一个修改的页面
- 然后再编写一个修改逻辑
- 通过id进行每个元组的识别
insert.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>修改</title>
</head>
<body>
<h1>修改</h1>
<?php
$id = $_GET{
"id"};
$db = new mysqli("localhost","root","homyit19","phpcrud");
$sql = "select * from student where id='{
$id}'";
$r = $db->query($sql);
$arr = $r->fetch_row();
?>
<form action="updatedata.php" method="post">
<div>编号:
<input readonly type="text" name='id' value="<?php echo $arr[0];?>"/>
</div>
<div>姓名:
<input readonly type="text" name='name' value="<?php echo $arr[1];?>"/>
</div>
<div>性别:
<input type="text" name='sex' value="<?php echo $arr[2];?>"/>
</div>
<div>专业:
<input type="text" name='dept' value="<?php echo $arr[3];?>"/>
</div>
<div>
<input type="submit" value="修改完成"/>
</div>
</form>
</body>
</html>
说明:
readonly
为只读,不允许修改- 通过post方法传给修改逻辑文件进行修改
updatedata.php
<?php
$id = $_POST['id'];
$name = $_POST['name'];
$sex = $_POST['sex'];
$dept = $_POST['dept'];
$db = new mysqli("localhost","root","homyit19","phpcrud");
$sql = "update student set
sex='{
$sex}',dept='{
$dept}'
where id=$id";
if($db->query($sql)){
header("location:dbhtml.php");
}
else{
echo "修改失败";
}
?>
五、新增操作
- 新建一个新增页的页面
- 进行逻辑操作
insert.php
<!-- 添加页面 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>添加</title>
</head>
<body>
<h1>添加</h1>
<form action="insertdata.php" method="post">
<div>编号:
<input type="text" name="id"/>
</div>
<div>名字:
<input type="text" name="name"/>
</div>
<div>性别:
<input type="text" name="sex"/>
</div>
<div>专业:
<input type="text" name="dept"/>
</div>
<div>
<input type="submit" value="添加"/>
</div>
</form>
</body>
</html>
insertdata.php
<?php
$id = $_POST["id"]; //获取用户输入的信息
$name = $_POST["name"];
$sex = $_POST["sex"];
$dept = $_POST["dept"];
$db = new mysqli("localhost","root","homyit19","phpcrud");
$sql = "insert into student
values ('{
$id}','{
$name}','{
$sex}','{
$dept}')";
if($db->query($sql)){
header("location:dbhtml.php");
}
else{
echo "添加失败";
}
?>