使用DAO设计模式和AJAX技术实现用户管理系统 - 添加、删除、修改、查询功能完整代码
以下是一个使用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文件模拟了数据库操作,包括添加、更新、删除和查询用户的功能。
原文地址: https://www.cveoy.top/t/topic/bf6f 著作权归作者所有。请勿转载和采集!