php和mysql实现数据的增删改查

index.php

<?php
//1、数据库的连接
$connect=mysqli_connect('192.168.0.108','root','zq1410477891','text');
if(!$connect){
  exit('数据库连接失败');
}
//设置字符问题
mysqli_set_charset($connect,'utf8');
//接收数据集
$query=mysqli_query($connect,'select *from users');
//拆分数据集
if(!$query){
  exit(查询失败);
}
date_default_timezone_set('PRC');
$date=date('Y-m-d',time());
$date1=substr($date, 0,4);
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>XXX管理系统</title>
  <link rel="stylesheet" href="css/bootstrap.css">
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
    <a class="navbar-brand" href="#">XXX管理系统</a>
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="index.html">用户管理</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">商品管理</a>
      </li>
    </ul>
  </nav>
  <main class="container">
  <h1 class="heading">用户管理 <a class="btn btn-link btn-sm" href="add.php">添加</a></h1>
    <table class="table table-hover">
      <thead>
        <tr>
          <th>#</th>
          <th>头像</th>
          <th>姓名</th>
          <th>性别</th>
          <th>年龄</th>
          <th class="text-center" width="140">操作</th>
        </tr>
      </thead>
      <tbody>
        <?php while ($row=mysqli_fetch_assoc($query)): ?>
            <tr>
              <th><?php echo $row['id']; ?></th>
              <td><img src="<?php echo $row['avatar']; ?>" ></td>
              <td><?php echo $row['name']; ?></td>
              <td><?php echo $row['gender']==0?'♀':'♂' ;?></td>e
              <td><?php 
              $bir=substr($row['birthday'], 0,4);
              $age=$date1- $bir;
              echo $age;
               ?></td>
              <td>        
                  <a class="btn btn-info btn-sm" href="edit.php?id=<?php echo $row['id']; ?>">编辑</a>
                  <a href="delete.php?id=<?php echo $row['id']; ?>" class="btn btn-danger btn-sm">删除</a>
              </td>
            </tr>
        <?php endwhile ?>
      </tbody>
    </table>
    <ul class="pagination justify-content-center">
      <li class="page-item"><a class="page-link" href="#">&laquo;</a></li>
      <li class="page-item"><a class="page-link" href="#">1</a></li>
      <li class="page-item"><a class="page-link" href="#">2</a></li>
      <li class="page-item"><a class="page-link" href="#">3</a></li>
      <li class="page-item"><a class="page-link" href="#">&raquo;</a></li>
    </ul>
  </main>
</body>
</html>

add.php

<?php 
function addusers(){
    GLOBAL $message;
     //验证头像
   if (empty($_FILES['images'])) {
       # code...
       $message = '请上传头像';
       return;
   }
    $images=$_FILES['images'];
 
     //验证图片类型
    $allow_arr=array('image/png','image/jpg','image/jpeg');
    if(!in_array($images['type'], $allow_arr)){
        $message='图片类型不支持';
        return;
    }
    //验证头像大小
    if($images['size'] > 1 * 1024 * 1024){
        $message='上传的图片内存太大';
        return;
    }
    //验证有没有输入姓名
    if(empty($_POST['name'])){
        $message='请输入姓名';
        return;
    }
    $name=$_POST['name'];
    //验证有没有输入性别
    
  if (!(isset($_POST['gender']) && $_POST['gender'] !== '-1')) {
    $message = '请选择性别';
    return;
  }
    $gender=$_POST['gender'];
    //验证有没有输入出生年月
    if(empty($_POST['birthday'])){
        $message='请输入出生年月';
        return;
    }
    $birthday=$_POST['birthday'];
    //从新给图片取名字pathinfo获取图片的后缀
    $target='./img/images-'.uniqid().'.'.pathinfo($images['name'],PATHINFO_EXTENSION);
    if(!move_uploaded_file($images['tmp_name'], $target)){
        $message='图片移动失败';
        return;
    }
    //保存图片的路径
    $img=substr($target, 2);
    //var_dump($name);
    //var_dump($images);
    //var_dump($img);
    //var_dump($gender);

    //连接数据库
    $connect=mysqli_connect('192.168.0.108','root','zq1410477891','text');
    //验证数据库连接是否成功
    if(!$connect){
        $message='数据库连接失败';
    }
    //建立数据集
    $query=mysqli_query($connect,"insert into users values (null, '{$name}', {$gender}, '{$birthday}', '{$img}');");
    if(!$query){
        $message='数据查询失败';
        return;
    }
    $row=mysqli_affected_rows($connect);
    if($row!==1){
        $message='数据插入失败';
        return;
    }
    header('Location:index.php');

};




if($_SERVER['REQUEST_METHOD']=='POST'){
    addusers();
}

 ?>






<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>XXX管理系统</title>
  <link rel="stylesheet" href="css/bootstrap.css">
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
    <a class="navbar-brand" href="#">XXX管理系统</a>
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="index.html">用户管理</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">商品管理</a>
      </li>
    </ul>
  </nav>
    <main class="container">
       <h1 class="heading">添加用户</h1>
        <form autocomplete="off" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
            <?php if (isset($message)): ?>
                <div class="form-group">
                    <div class="alert alert-danger" role="alert">
                        <?php echo $message; ?>
                    </div>
                </div>
            <?php endif ?>
            
            <div class="form-group">
                <label for="images">头像</label>
                <input type="file" name="images" id="images" class="form-control" accept="image/*">
            </div>
            <div class="form-group">
                <label for="name">姓名</label>
                <input type="text" name="name" id="name" class="form-control">
            </div>
            <div class="form-group">
                <label for="gender">性别</label>
                <select class="form-control" id="gender" name="gender">
                    <option value="-1">请选择性别</option>
                    <option value="1">男</option>
                    <option value="0">女</option>
                </select>
            </div>
            <div class="form-group">
                <label for="birthday">出生年月</label>
                <input type="date" name="birthday" id="birthday" class="form-control">
            </div>
            
            <button class="btn btn-block btn-primary">提交</button>
           
            
        </form>
    </main>
</body>
</html>

delete.php

<?php 

if (empty($_GET['id'])) {
    # code...
    exit('请选择要删除的项');
}
$id=$_GET['id'];
//连接数据库
$connect=mysqli_connect('192.168.0.108','root','zq1410477891','text');
//验证数据库连接是否成功
if(!$connect){
    exit('数据库连接失败');
}
//查询数据集
$query=mysqli_query($connect,'delete from users where id='.$id.';');
//检验查询数据是否成功
if(!$query){
    exit('查询失败');
}
$affected_rows=mysqli_affected_rows($connect);
//一行一行取数据
//最好写非,逻辑清楚
if ($affected_rows<=0) {
    # code...
   exit('删除失败'); 
}
header('Location:index.php');
 ?>

edit.php

<?php
// 接收要修改的数据 ID
if (empty($_GET['id'])) {
  exit('<h1>必须传入指定参数</h1>');
}
$id = $_GET['id'];

// 1. 建立连接
$conn = mysqli_connect('192.168.0.108', 'root', 'zq1410477891', 'text');

if (!$conn) {
  exit('<h1>连接数据库失败</h1>');
}

// 2. 开始查询
// 因为 ID 是唯一的 那么找到第一个满足条件的就不用再继续了 limit 1
$query = mysqli_query($conn, "select * from users where id = {$id} limit 1;");

if (!$query) {
  exit('<h1>查询数据失败</h1>');
}

// 已经查询到的当前数据
$user = mysqli_fetch_assoc($query);

if (!$user) {
  exit('<h1>找不到你要编辑的数据</h1>');
}

function edit () {
  GLOBAL $user;
  GLOBAL $message;

  // 验证非空
  if (empty($_POST['name'])) {
    $message= '请输入姓名';
    return;
  }

  if (!(isset($_POST['gender']) && $_POST['gender'] !== '-1')) {
    $message= '请选择性别';
    return;
  }

  if (empty($_POST['birthday'])) {
    $message= '请输入日期';
    return;
  }

  // 取值
  $name= $_POST['name'];
  $gender = $_POST['gender'];
  $birthday = $_POST['birthday'];
  $id=$user['id'];
  // 有上传就修改
  if (isset($_FILES['images']) && $_FILES['images']['error'] === UPLOAD_ERR_OK) {
    // 用户上传了新头像 -> 用户希望修改头像
    $ext = pathinfo($_FILES['images']['name'], PATHINFO_EXTENSION);
    $target = './img/images-' . uniqid() . '.' . $ext;
    if (!move_uploaded_file($_FILES['images']['tmp_name'], $target)) {
      $message= '上传头像失败';
      return;
    }
    $avatar= substr($target, 2);
  }
  //var_dump( $user);
  // $user => 修改过后的信息
  // TODO: 将数据更新回数据库
  $conn = mysqli_connect('192.168.0.108', 'root', 'zq1410477891', 'text');
  $query=mysqli_query($conn,"update users set name='{$name}',gender='{$gender}',birthday='{$birthday}',avatar='{$avatar}'where id='{$id}'");
  if(mysqli_affected_rows($conn)!==1){
    $message='数据更新失败,插入失败';
    return;
  }
  header('Location:index.php');
}
    //header('Location:index.php');
    if($_SERVER['REQUEST_METHOD']=='POST'){
        edit();
    }

 >
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>XXX管理系统</title>
  <link rel="stylesheet" href="css/bootstrap.css">
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
    <a class="navbar-brand" href="#">XXX管理系统</a>
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="index.html">用户管理</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">商品管理</a>
      </li>
    </ul>
  </nav>
    <main class="container">
    <h1 class="heading">编辑学生<?php echo $user['name']; ?>信息</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $user['id']; ?>" method="post" enctype="multipart/form-data">
      <!-- <input type="hidden" id="id" value="<?php echo $user['id']; ?>"> -->
      <img src="<?php echo $user['avatar']; ?>" alt="">
      <div class="form-group">
        <label for="images">头像</label>
        <!-- 文件域不能设置默认值 -->
        <input type="file" class="form-control" id="images" name="images">
      </div>
      <div class="form-group">
        <label for="name">姓名</label>
        <input type="text" class="form-control" id="name" name="name" value="<?php echo $user['name']; ?>">
      </div>
      <div class="form-group">
        <label for="gender">性别</label>
        <select class="form-control" id="gender" name="gender">
          <option value="-1">请选择性别</option>
          <option value="1"<?php echo $user['gender'] === '1' ? ' selected': ''; ?>>男</option>
          <option value="0"<?php echo $user['gender'] === '0' ? ' selected': ''; ?>>女</option>
        </select>
      </div>
      <div class="form-group">
        <label for="birthday">生日</label>
        <input type="date" class="form-control" id="birthday" name="birthday" value="<?php echo $user['birthday']; ?>">
      </div>
      <button class="btn btn-primary">保存</button>
    </form>
  </main>
</body>
</html>

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP可以通过MySQLi和PDO两种方式来实现MySQL增删改查操作。 使用MySQLi: 连接MySQL数据库: ``` $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ``` 插入数据: ``` $sql = "INSERT INTO yourtable (column1, column2, column3) VALUES ('value1', 'value2', 'value3')"; if ($conn->query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } ``` 更新数据: ``` $sql = "UPDATE yourtable SET column1='newvalue1' WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录更新成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } ``` 删除数据: ``` $sql = "DELETE FROM yourtable WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录删除成功"; } else { echo "Error deleting record: " . $conn->error; } ``` 查询数据: ``` $sql = "SELECT * FROM yourtable"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出每行数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - column1: " . $row["column1"]. " - column2: " . $row["column2"]. "<br>"; } } else { echo "0 结果"; } ``` 使用PDO: 连接MySQL数据库: ``` $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "连接成功"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); } ``` 插入数据: ``` $sql = "INSERT INTO yourtable (column1, column2, column3) VALUES ('value1', 'value2', 'value3')"; $conn->exec($sql); echo "新记录插入成功"; ``` 更新数据: ``` $sql = "UPDATE yourtable SET column1='newvalue1' WHERE id=1"; $conn->exec($sql); echo "记录更新成功"; ``` 删除数据: ``` $sql = "DELETE FROM yourtable WHERE id=1"; $conn->exec($sql); echo "记录删除成功"; ``` 查询数据: ``` $sql = "SELECT * FROM yourtable"; $result = $conn->query($sql); if ($result->rowCount() > 0) { // 输出每行数据 while($row = $result->fetch()) { echo "id: " . $row["id"]. " - column1: " . $row["column1"]. " - column2: " . $row["column2"]. "<br>"; } } else { echo "0 结果"; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值