DAO设计模式是一种用于管理数据库操作的设计模式,它将数据库操作封装在一个独立的数据访问对象中,使得数据库操作与业务逻辑分离。通过使用DAO设计模式,可以更好地组织和管理数据库操作的代码。

下面是一个使用DAO设计模式和ajax技术实现数据库表user的添加、删除、修改和查询的示例代码:

  1. HTML页面代码:
<!DOCTYPE html>
<html>
<head>
    <title>User Management</title>
    <script src='https://code.jquery.com/jquery-3.5.1.min.js'></script>
    <script src='script.js'></script>
</head>
<body>
    <h1>User Management</h1>
    <form id='userForm'>
        <input type='hidden' id='userId' />
        Name: <input type='text' id='name' /><br/>
        Age: <input type='text' id='age' /><br/>
        <button type='submit'>Save</button>
    </form>
    <br/>
    <table id='userTable'>
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Age</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>
</body>
</html>
  1. JavaScript代码(script.js):
$(document).ready(function() {
    // 页面加载完成后,获取用户列表
    getUserList();

    // 提交表单
    $('#userForm').submit(function(e) {
        e.preventDefault();
        saveUser();
    });
});

// 获取用户列表
function getUserList() {
    $.ajax({
        url: 'user.php',
        type: 'GET',
        dataType: 'json',
        success: function(data) {
            displayUserList(data);
        }
    });
}

// 显示用户列表
function displayUserList(data) {
    var tableBody = $('#userTable tbody');
    tableBody.empty();

    $.each(data, function(index, user) {
        var row = $('<tr>');
        row.append($('<td>').text(user.id));
        row.append($('<td>').text(user.name));
        row.append($('<td>').text(user.age));
        row.append($('<td>').html('<button onclick="editUser(' + user.id + ')">Edit</button> <button onclick="deleteUser(' + user.id + ')">Delete</button>'));

        tableBody.append(row);
    });
}

// 添加或编辑用户
function saveUser() {
    var id = $('#userId').val();
    var name = $('#name').val();
    var age = $('#age').val();

    var data = {
        id: id,
        name: name,
        age: age
    };

    $.ajax({
        url: 'user.php',
        type: 'POST',
        data: data,
        success: function() {
            getUserList();
            resetForm();
        }
    });
}

// 编辑用户
function editUser(id) {
    $.ajax({
        url: 'user.php?id=' + id,
        type: 'GET',
        dataType: 'json',
        success: function(data) {
            $('#userId').val(data.id);
            $('#name').val(data.name);
            $('#age').val(data.age);
        }
    });
}

// 删除用户
function deleteUser(id) {
    $.ajax({
        url: 'user.php?id=' + id,
        type: 'DELETE',
        success: function() {
            getUserList();
        }
    });
}

// 重置表单
function resetForm() {
    $('#userId').val('');
    $('#name').val('');
    $('#age').val('');
}
  1. PHP代码(user.php):
<?php
// 数据库连接信息
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die('Connection failed: ' . $conn->connect_error);
}

// 获取用户列表
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $sql = 'SELECT * FROM user';
    $result = $conn->query($sql);

    $users = array();

    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $users[] = $row;
        }
    }

    echo json_encode($users);
}

// 添加或编辑用户
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $id = $_POST['id'];
    $name = $_POST['name'];
    $age = $_POST['age'];

    if (empty($id)) {
        $sql = 'INSERT INTO user (name, age) VALUES ('$name', '$age')';
    } else {
        $sql = 'UPDATE user SET name='$name', age='$age' WHERE id=$id';
    }

    if ($conn->query($sql) === TRUE) {
        echo 'success';
    } else {
        echo 'Error: ' . $sql . '<br>' . $conn->error;
    }
}

// 删除用户
if ($_SERVER['REQUEST_METHOD'] == 'DELETE') {
    $id = $_GET['id'];

    $sql = 'DELETE FROM user WHERE id=$id';

    if ($conn->query($sql) === TRUE) {
        echo 'success';
    } else {
        echo 'Error: ' . $sql . '<br>' . $conn->error;
    }
}

// 关闭数据库连接
$conn->close();
?>

在以上代码中,我们使用了jQuery的ajax函数来发送异步请求,与PHP后端进行交互。PHP后端根据请求的方法和参数进行相应的数据库操作,并返回结果给前端。前端根据返回的数据更新页面内容。

使用以上代码,你可以在浏览器中打开HTML页面,进行用户的添加、删除、修改和查询操作。

使用DAO设计模式和Ajax技术实现数据库表user增删改查

原文地址: https://www.cveoy.top/t/topic/Qog 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录