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

index.html:

<!DOCTYPE html>
<html>
<head>
    <title>User Management</title>
</head>
<body>
    <h1>User Management</h1>
    <form id='userForm'>
        <input type='hidden' id='userId' />
        <label for='name'>Name:</label>
        <input type='text' id='name' /><br><br>
        <label for='age'>Age:</label>
        <input type='text' id='age' /><br><br>
        <button type='button' onclick='addUser()'>Add User</button>
        <button type='button' onclick='updateUser()'>Update User</button>
    </form>
    <br>
    <div id='userList'></div>

    <script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'></script>
    <script src='script.js'></script>
</body>
</html>

script.js:

$(document).ready(function() {
    loadUsers();
});

function loadUsers() {
    $.ajax({
        url: 'userController.php',
        type: 'GET',
        dataType: 'json',
        success: function(response) {
            var userList = $('#userList');
            userList.empty();
            for (var i = 0; i < response.length; i++) {
                var user = response[i];
                userList.append('<div>' + user.name + ' (Age: ' + user.age + ') <button onclick="editUser(' + user.id + ')">Edit</button> <button onclick="deleteUser(' + user.id + ')">Delete</button></div>');
            }
        }
    });
}

function addUser() {
    var name = $('#name').val();
    var age = $('#age').val();

    $.ajax({
        url: 'userController.php',
        type: 'POST',
        data: {
            action: 'add',
            name: name,
            age: age
        },
        success: function(response) {
            $('#name').val('');
            $('#age').val('');
            loadUsers();
        }
    });
}

function editUser(userId) {
    $.ajax({
        url: 'userController.php',
        type: 'GET',
        dataType: 'json',
        data: {
            action: 'get',
            id: userId
        },
        success: function(response) {
            $('#userId').val(response.id);
            $('#name').val(response.name);
            $('#age').val(response.age);
        }
    });
}

function updateUser() {
    var userId = $('#userId').val();
    var name = $('#name').val();
    var age = $('#age').val();

    $.ajax({
        url: 'userController.php',
        type: 'POST',
        data: {
            action: 'update',
            id: userId,
            name: name,
            age: age
        },
        success: function(response) {
            $('#userId').val('');
            $('#name').val('');
            $('#age').val('');
            loadUsers();
        }
    });
}

function deleteUser(userId) {
    var confirmDelete = confirm('Are you sure you want to delete this user?');
    if (confirmDelete) {
        $.ajax({
            url: 'userController.php',
            type: 'POST',
            data: {
                action: 'delete',
                id: userId
            },
            success: function(response) {
                loadUsers();
            }
        });
    }
}

userController.php:

<?php
class User {
    private $id;
    private $name;
    private $age;

    public function __construct($id, $name, $age) {
        $this->id = $id;
        $this->name = $name;
        $this->age = $age;
    }

    public function getId() {
        return $this->id;
    }

    public function getName() {
        return $this->name;
    }

    public function getAge() {
        return $this->age;
    }
}

class UserDAO {
    private $users = array();

    public function __construct() {
        // Simulate database records
        $this->users[] = new User(1, 'John Doe', 25);
        $this->users[] = new User(2, 'Jane Smith', 30);
        $this->users[] = new User(3, 'Bob Johnson', 40);
    }

    public function getAllUsers() {
        return $this->users;
    }

    public function getUserById($id) {
        foreach ($this->users as $user) {
            if ($user->getId() == $id) {
                return $user;
            }
        }
        return null;
    }

    public function addUser($name, $age) {
        $id = count($this->users) + 1;
        $this->users[] = new User($id, $name, $age);
        return $id;
    }

    public function updateUser($id, $name, $age) {
        foreach ($this->users as $user) {
            if ($user->getId() == $id) {
                $user->name = $name;
                $user->age = $age;
                return true;
            }
        }
        return false;
    }

    public function deleteUser($id) {
        foreach ($this->users as $key => $user) {
            if ($user->getId() == $id) {
                unset($this->users[$key]);
                return true;
            }
        }
        return false;
    }
}

$action = $_POST['action'];

$userDAO = new UserDAO();

if ($action == 'add') {
    $name = $_POST['name'];
    $age = $_POST['age'];
    $userId = $userDAO->addUser($name, $age);
    echo $userId;
} elseif ($action == 'update') {
    $id = $_POST['id'];
    $name = $_POST['name'];
    $age = $_POST['age'];
    $success = $userDAO->updateUser($id, $name, $age);
    echo $success ? 'success' : 'error';
} elseif ($action == 'delete') {
    $id = $_POST['id'];
    $success = $userDAO->deleteUser($id);
    echo $success ? 'success' : 'error';
} elseif ($action == 'get') {
    $id = $_GET['id'];
    $user = $userDAO->getUserById($id);
    echo json_encode($user);
} else {
    $users = $userDAO->getAllUsers();
    echo json_encode($users);
}
?>

上述代码中,index.html包含了一个表单用于添加和更新用户,以及一个用户列表用于展示所有用户。script.js文件处理了表单提交和ajax请求。userController.php文件模拟了数据库操作,包括添加、更新、删除和查询用户的功能。

使用DAO设计模式和AJAX技术实现用户管理系统 - 添加、删除、修改、查询功能完整代码

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

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