帮我写一个ajax实现增删改查前后端
时间: 2024-01-06 07:04:10 浏览: 87
ajax分页增删改查
响应的例子。
好的,以下是一个简单的增删改查的实例,用AJAX、PHP、MySQL实现:
前端代码:
```
<!DOCTYPE html>
<html>
<head>
<title>AJAX实现增删改查</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h1>AJAX实现增删改查</h1>
<table border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
<tbody id="data"></tbody>
</table>
<form id="form">
<input type="text" name="id" placeholder="ID" style="display: none;"><br>
<input type="text" name="name" placeholder="姓名"><br>
<input type="text" name="age" placeholder="年龄"><br>
<input type="text" name="gender" placeholder="性别"><br>
<button type="button" id="add">添加</button>
<button type="button" id="update" style="display: none;">修改</button>
</form>
<script type="text/javascript">
$(document).ready(function(){
// 页面加载时获取数据
$.ajax({
url: 'back.php', // 后端处理页面的URL
type: 'GET', // 使用GET方法请求后端页面
data: {'type': 'select'}, // type参数用于指定操作类型
dataType: 'json', // 希望返回JSON格式的数据
success: function(data){
// 遍历数据并添加到表格中
$.each(data, function(i, item){
$('#data').append(
"<tr>"
+ "<td>" + item.id + "</td>"
+ "<td>" + item.name + "</td>"
+ "<td>" + item.age + "</td>"
+ "<td>" + item.gender + "</td>"
+ "<td>"
+ "<button type='button' class='edit' data-id='"+ item.id +"' data-name='"+ item.name +"' data-age='"+ item.age +"' data-gender='"+ item.gender +"'>编辑</button> "
+ "<button type='button' class='delete' data-id='"+ item.id +"'>删除</button>"
+ "</td>"
+ "</tr>"
);
});
},
error: function(){
alert('获取数据失败!');
}
});
// 点击添加按钮时的操作
$('#add').click(function(){
// 获取表单中的数据
var name = $('input[name=name]').val();
var age = $('input[name=age]').val();
var gender = $('input[name=gender]').val();
// 向后端发送POST请求并传递数据
$.ajax({
url: 'back.php',
type: 'POST',
data: {'type': 'add', 'name': name, 'age': age, 'gender': gender},
success: function(){
// 刷新页面
window.location.reload();
},
error: function(){
alert('添加数据失败!');
}
});
});
// 点击编辑按钮时的操作
$('#data').on('click', '.edit', function(){
// 获取需要编辑的数据并填充到表单中
$('input[name=id]').val($(this).attr('data-id'));
$('input[name=name]').val($(this).attr('data-name'));
$('input[name=age]').val(parseInt($(this).attr('data-age')));
$('input[name=gender]').val($(this).attr('data-gender'));
// 显示修改按钮,隐藏添加按钮
$('#add').hide();
$('#update').show();
});
// 点击修改按钮时的操作
$('#update').click(function(){
// 获取表单中的数据
var id = $('input[name=id]').val();
var name = $('input[name=name]').val();
var age = $('input[name=age]').val();
var gender = $('input[name=gender]').val();
// 向后端发送POST请求并附带数据
$.ajax({
url: 'back.php',
type: 'POST',
data: {'type': 'update', 'id': id, 'name': name, 'age': age, 'gender': gender},
success: function(){
// 刷新页面
window.location.reload();
},
error: function(){
alert('修改数据失败!');
}
});
});
// 点击删除按钮时的操作
$('#data').on('click', '.delete', function(){
if (!confirm('确认删除?')){
return;
}
// 获取需要删除的记录ID
var id = $(this).attr('data-id');
// 向后端发送POST请求并附带数据
$.ajax({
url: 'back.php',
type: 'POST',
data: {'type': 'delete', 'id': id},
success: function(){
// 刷新页面
window.location.reload();
},
error: function(){
alert('删除数据失败!');
}
});
});
});
</script>
</body>
</html>
```
后端代码:
```
<?php
// 数据库连接信息
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "test";
// 建立连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 设置字符集
$conn->set_charset('utf8');
// 根据不同的操作类型执行不同的SQL语句
switch ($_POST['type']) {
case 'add':
$sql = "INSERT INTO user (name, age, gender) VALUES ('".$_POST['name']."', ".$_POST['age'].", '".$_POST['gender']."')";
if ($conn->query($sql) === true) {
echo "数据添加成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
break;
case 'update':
$sql = "UPDATE user SET name='".$_POST['name']."', age=".$_POST['age'].", gender='".$_POST['gender']."' WHERE id=".$_POST['id'];
if ($conn->query($sql) === true) {
echo "数据修改成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
break;
case 'delete':
$sql = "DELETE FROM user WHERE id=".$_POST['id'];
if ($conn->query($sql) === true) {
echo "数据删除成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
break;
case 'select':
$sql = "SELECT * FROM user";
$result = $conn->query($sql);
$result_array = array();
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$result_array[] = $row;
}
}
echo json_encode($result_array);
break;
}
// 断开连接
$conn->close();
?>
```
注意:在使用此代码时,请先创建一个名为“test”的MySQL数据库,再在其中创建一个名为“user”的数据表,其中包含四个字段:id(自增)、name、age、gender。你可以根据自己的需求修改代码中的数据库连接信息和表名。另外,此代码只为示例而写,可能存在不严谨之处,请不要直接复制粘贴运行。
阅读全文