html页面中实现 创建好的一个可编辑表格,点击修改完成后,数据提交保存至服务器,下次打开这页面,表单里的数据是上次修改好的
时间: 2024-03-24 20:36:37 浏览: 219
要实现创建一个可编辑的表格,并且能够保存数据并在下次打开页面时显示之前修改的数据,可以使用以下步骤:
1. 在 HTML 页面中创建一个表格,并添加 `contenteditable` 属性,这样就可以让用户编辑表格中的内容。例如:
```html
<table contenteditable>
<tr>
<th>Name</th>
<th>Age</th>
<th>Email</th>
</tr>
<tr>
<td>John</td>
<td>30</td>
<td>john@example.com</td>
</tr>
<tr>
<td>Jane</td>
<td>25</td>
<td>jane@example.com</td>
</tr>
</table>
```
2. 使用 JavaScript/jQuery 来获取表格中的数据,并将其提交到服务器进行保存。可以使用 jQuery 的 `ajax` 方法来实现数据的提交。例如:
```javascript
$(document).ready(function() {
$('table').on('blur', 'td[contenteditable=true]', function() {
var row = $(this).closest('tr');
var name = row.find('td:eq(0)').text();
var age = row.find('td:eq(1)').text();
var email = row.find('td:eq(2)').text();
$.ajax({
type: 'POST',
url: 'save.php',
data: { name: name, age: age, email: email },
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
});
});
```
在这个例子中,当用户编辑表格中的单元格并且使其失去焦点时(即 `blur` 事件),JavaScript 代码会获取该行的数据并使用 AJAX 将其提交到服务器上的 `save.php` 文件进行保存。
3. 在服务器端编写 `save.php` 文件,用于接收并保存表格数据。可以使用 PHP 的 `$_POST` 变量来获取表格中的数据,并将其保存到数据库或文件中。例如:
```php
$name = $_POST['name'];
$age = $_POST['age'];
$email = $_POST['email'];
// 将数据保存到数据库或文件中
```
4. 当用户下次打开页面时,从服务器获取之前保存的数据并将其填充到表格中。可以使用 PHP 或 JavaScript/jQuery 来实现这一步骤。例如,使用 PHP 可以在页面加载时从数据库中获取数据并将其输出到表格中:
```php
<table contenteditable>
<tr>
<th>Name</th>
<th>Age</th>
<th>Email</th>
</tr>
<?php
// 从数据库中获取数据并将其输出到表格中
$result = mysqli_query($connection, 'SELECT * FROM my_table');
while ($row = mysqli_fetch_array($result)) {
echo '<tr>';
echo '<td>' . $row['name'] . '</td>';
echo '<td>' . $row['age'] . '</td>';
echo '<td>' . $row['email'] . '</td>';
echo '</tr>';
}
?>
</table>
```
在这个例子中,使用 PHP 的 `mysqli_query` 函数从数据库中获取数据,并使用 `mysqli_fetch_array` 函数将其转换为数组。然后使用 PHP 的 `echo` 函数将数组中的数据输出到表格中。
阅读全文