表格行添加编辑删除操作和保存数据代码 数据从数据库中获取
时间: 2024-02-22 09:55:02 浏览: 83
Layui表格行添加编辑删除操作和保存数据代码
5星 · 资源好评率100%
要在表格中添加编辑和删除操作,并将更改保存回数据库中,可以使用 PHP 和 MySQL 来实现。可以按照以下步骤:
1. 在 HTML 文件中创建一个表格,为每一行添加编辑和删除按钮,添加单击事件监听器,当按钮被点击时,调用一个 JavaScript 函数。
2. 创建一个 JavaScript 函数,当该函数被调用时,它将获取要编辑或删除的行的数据,并将其传递给一个 PHP 脚本。
3. 创建一个 PHP 脚本,该脚本将接收从 JavaScript 函数传递的数据,将其保存到数据库中,然后将结果返回给 JavaScript 函数。
以下是示例代码:
HTML 文件:
```
<!DOCTYPE html>
<html>
<body>
<table id="myTable">
<tr>
<th>学生姓名</th>
<th>学号</th>
<th>年龄</th>
<th>编辑</th>
<th>删除</th>
</tr>
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "root", "", "mydb");
// 查询数据
$result = mysqli_query($conn, "SELECT * FROM students");
// 遍历结果集,输出表格
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['age'] . "</td>";
echo "<td><button onclick=\"editRow(" . $row['id'] . ")\">编辑</button></td>";
echo "<td><button onclick=\"deleteRow(" . $row['id'] . ")\">删除</button></td>";
echo "</tr>";
}
// 关闭数据库连接
mysqli_close($conn);
?>
</table>
<script>
function editRow(id) {
// 获取要编辑的行的数据
var name = prompt("请输入学生姓名:");
var age = prompt("请输入学生年龄:");
// 将数据传递给 PHP 脚本
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// 处理 PHP 脚本返回的结果
alert(this.responseText);
}
};
xhttp.open("POST", "edit.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("id=" + id + "&name=" + name + "&age=" + age);
}
function deleteRow(id) {
if (confirm("确定要删除该学生吗?")) {
// 将数据传递给 PHP 脚本
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// 处理 PHP 脚本返回的结果
alert(this.responseText);
}
};
xhttp.open("POST", "delete.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("id=" + id);
}
}
</script>
</body>
</html>
```
PHP 文件(edit.php):
```
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "root", "", "mydb");
// 获取要更新的数据
$id = $_POST['id'];
$name = $_POST['name'];
$age = $_POST['age'];
// 更新数据
$sql = "UPDATE students SET name='$name', age=$age WHERE id=$id";
if (mysqli_query($conn, $sql)) {
echo "更新成功";
} else {
echo "更新失败:" . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
PHP 文件(delete.php):
```
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "root", "", "mydb");
// 获取要删除的数据
$id = $_POST['id'];
// 删除数据
$sql = "DELETE FROM students WHERE id=$id";
if (mysqli_query($conn, $sql)) {
echo "删除成功";
} else {
echo "删除失败:" . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
在这个示例中,我们使用了 prompt() 函数来获取用户输入的数据,实际上应该使用 HTML 表单来收集数据。此外,我们还省略了一些错误处理和安全性检查,实际上应该对输入数据进行验证和过滤,以避免 SQL 注入等安全问题。
阅读全文