当前位置:首页 > PHP

php ajax实现增删改查

2026-01-28 23:36:44PHP

PHP AJAX 实现增删改查

数据库连接配置

创建 config.php 文件用于数据库连接:

<?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'test_db';
$conn = new mysqli($host, $user, $password, $database);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

创建数据(Create)

前端 AJAX 请求:

function createData() {
    let name = document.getElementById('name').value;
    let email = document.getElementById('email').value;

    $.ajax({
        url: 'create.php',
        type: 'POST',
        data: {name: name, email: email},
        success: function(response) {
            alert('Data created successfully');
            fetchData(); // 刷新列表
        }
    });
}

后端 create.php 处理:

<?php
include 'config.php';

$name = $_POST['name'];
$email = $_POST['email'];

$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

读取数据(Read)

前端 AJAX 请求:

php ajax实现增删改查

function fetchData() {
    $.ajax({
        url: 'read.php',
        type: 'GET',
        success: function(response) {
            $('#dataTable').html(response);
        }
    });
}

后端 read.php 处理:

<?php
include 'config.php';

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<tr>
                <td>".$row['id']."</td>
                <td>".$row['name']."</td>
                <td>".$row['email']."</td>
                <td>
                    <button onclick='editData(".$row['id'].")'>Edit</button>
                    <button onclick='deleteData(".$row['id'].")'>Delete</button>
                </td>
              </tr>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>

更新数据(Update)

前端 AJAX 请求:

function editData(id) {
    let name = prompt('Enter new name');
    let email = prompt('Enter new email');

    $.ajax({
        url: 'update.php',
        type: 'POST',
        data: {id: id, name: name, email: email},
        success: function(response) {
            alert('Data updated successfully');
            fetchData();
        }
    });
}

后端 update.php 处理:

php ajax实现增删改查

<?php
include 'config.php';

$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];

$sql = "UPDATE users SET name='$name', email='$email' WHERE id=$id";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}
$conn->close();
?>

删除数据(Delete)

前端 AJAX 请求:

function deleteData(id) {
    if (confirm('Are you sure you want to delete this record?')) {
        $.ajax({
            url: 'delete.php',
            type: 'POST',
            data: {id: id},
            success: function(response) {
                alert('Data deleted successfully');
                fetchData();
            }
        });
    }
}

后端 delete.php 处理:

<?php
include 'config.php';

$id = $_POST['id'];

$sql = "DELETE FROM users WHERE id=$id";
if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>

前端页面整合

HTML 示例:

<!DOCTYPE html>
<html>
<head>
    <title>AJAX CRUD</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
    <h2>Add New User</h2>
    <input type="text" id="name" placeholder="Name">
    <input type="text" id="email" placeholder="Email">
    <button onclick="createData()">Add</button>

    <h2>User List</h2>
    <table border="1">
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody id="dataTable"></tbody>
    </table>

    <script>
        $(document).ready(function() {
            fetchData();
        });
    </script>
</body>
</html>

安全注意事项

  • 使用预处理语句防止 SQL 注入
  • 验证和过滤用户输入
  • 添加 CSRF 保护
  • 实施适当的错误处理

性能优化建议

  • 使用分页处理大量数据
  • 添加加载指示器
  • 实现数据缓存
  • 优化数据库查询

标签: phpajax
分享给朋友:

相关文章

php实现打印功能

php实现打印功能

PHP实现打印功能的方法 在PHP中实现打印功能可以通过多种方式完成,包括直接输出到浏览器、生成PDF文件、调用打印机接口等。以下是几种常见的方法: 直接输出HTML内容 PHP可以通过echo或p…

php实现文件下载

php实现文件下载

PHP实现文件下载的方法 通过PHP实现文件下载功能,可以采用多种方式,以下是几种常见的实现方法: 使用header()函数强制下载 设置HTTP头信息,强制浏览器下载文件而非直接打开:…

php实现增删改查

php实现增删改查

以下是在PHP中实现增删改查(CRUD)操作的详细方法,以MySQL数据库为例: 数据库连接配置 创建config.php文件存储数据库连接信息: <?php $host = 'localh…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form actio…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。…