PHP连接MySQL实现CRUD

前言:最近学了一点PHP的皮毛,下面就来卖弄一下这点皮毛。注:纯粹是为了个人理解特此记录。没有很好看的页面也没有很酷炫的逻辑。

一、目录结构

也没有什么结构,简单的很

image-20211118195549267

数据库结构,这个更简单了,只是为了实现一下效果,就只有一张表

image-20211118195734048

二、首页实现数据的渲染

  • 先建立好表头
  • 通过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>

image-20211118200518204

说明:

  1. query() d b 的 一 个 对 象 方 法 , 即 根 据 指 定 的 db的一个对象方法,即根据指定的 dbsql查询语句去执行一个查询,并将结果返回给$r。
  2. 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>

image-20211118201025324

说明:

  • 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>

image-20211118201438939

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 "添加失败";
}
?>

猜你喜欢

转载自blog.csdn.net/weixin_48931875/article/details/121409501