JavaScript实现表格选中一行并操作数据库 (js表格选中一行数据库)

在网页开发中,使用表格展示数据是非常常见的方式。一些应用需要用户能够选中表格的一行来进行操作,比如编辑、删除等等。同时,这些用户操作也需要被记录在后台数据库中。本文将介绍如何使用JavaScript实现表格选中一行并 在后台数据库中进行相关操作。

一、实现表格选中一行

1.1 HTML代码

我们需要在HTML中创建一个表格,就像这样:

“`

ID Name Age Gender
1 Tom 20 Male
2 Jerry 18 Female
3 Betty 21 Female

“`

这是一个非常简单的表格,它有四列,分别是ID、Name、Age和Gender。表格中有三行数据,每行数据都由四个单元格组成。表格的id设置为”user-table”,方便后续操作。

1.2 JavaScript代码

接下来,在JavaScript中编写代码来实现表格选中一行的功能。代码如下:

“`

var table = document.getElementById(“user-table”); //获得表格对象

var rows = table.getElementsByTagName(“tr”); //获得表格中所有的行

//给每个行绑定点击事件

for (var i = 0; i

rows[i].onclick = function() {

//使用this取得当前点击的行的索引

var index = this.rowIndex;

//判断当前点击的行是否已经被选中,如果是就取消选中

if (rows[index].className == “selected”) {

rows[index].className = “”;

} else {

//如果当前点击的行没有被选中,先将其它的行状态清空,再将当前行状态设为选中

for (var j = 0; j

rows[j].className = “”;

}

rows[index].className = “selected”;

}

}

}

“`

以上代码通过给每个行绑定点击事件来实现表格选中一行的功能。当用户点击某一行的时候,该行的状态就会变为选中状态。如果该行已经被选中,再次点击该行则取消选中。

1.3 CSS代码

为了让用户知道哪一行被选中了,我们需要通过CSS代码为选中状态的行添加样式。代码如下:

“`

.selected {

background-color: #ccc;

}

“`

以上代码设置了选中状态的行的背景颜色为灰色。

二、操作数据库

现在我们已经实现了表格选中一行的功能,接下来我们需要将用户的操作记录在后台数据库中。本例中,我们使用PHP语言操作后台MySQL数据库。

2.1 创建数据库表

在MySQL数据库中创建一个名为”users”的表,表结构如下:

“`

CREATE TABLE `users` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`age` int(11) NOT NULL,

`gender` varchar(10) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

“`

以上代码创建了一个名为”users”的表,其中包含四个字段:id、name、age和gender。其中,id字段是自动递增的主键。

2.2 PHP代码

PHP代码用于将用户的操作记录在数据库中。代码如下:

“`

//连接数据库

$servername = “localhost”;

$username = “username”;

$password = “password”;

$dbname = “myDB”;

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

die(“Connection fled: ” . $conn->connect_error);

}

//获取表格选中行的信息

$name = $_POST[“name”];

$age = $_POST[“age”];

$gender = $_POST[“gender”];

//判断用户是否选中了一行数据

if (!$name || !$age || !$gender) {

echo “Please select a row.”;

} else {

//将用户的操作记录在数据库中

$sql = “INSERT INTO users (name, age, gender) VALUES (‘$name’, ‘$age’, ‘$gender’)”;

if ($conn->query($sql) === TRUE) {

echo “Operation recorded successfully.”;

} else {

echo “Error: ” . $sql . “
” . $conn->error;

}

}

//关闭数据库连接

$conn->close();

?>

“`

以上代码使用了PHP中的mysqli库连接MySQL数据库。在代码中,我们先判断用户是否选中了一行数据。如果没有选中,就返回提示信息;如果选中了,就将用户的操作记录在数据库中。

2.3 JavaScript代码

JavaScript代码用于获取选中行的信息,并将该信息发送给后台PHP脚本。代码如下:

“`

var submitBtn = document.getElementById(“submit-btn”); //获取提交按钮对象

submitBtn.onclick = function() {

var selectedRow = table.getElementsByClassName(“selected”)[0]; //获取选中行对象

if (selectedRow) {

var cells = selectedRow.getElementsByTagName(“td”); //获取选中行的单元格

var name = cells[1].innerHTML; //获取名字

var age = cells[2].innerHTML; //获取年龄

var gender = cells[3].innerHTML; //获取性别

//使用XMLHttpRequest将选中行的信息发送给后台PHP脚本

var xhr = new XMLHttpRequest();

xhr.open(“POST”, “insert.php”, true);

xhr.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);

xhr.onreadystatechange = function() {

if (this.readyState == 4 && this.status == 200) {

console.log(this.responseText); //返回后台操作信息

}

};

xhr.send(“name=” + name + “&age=” + age + “&gender=” + gender);

} else {

alert(“Please select a row.”); //如果没有选中行,弹出提示框

}

};

“`

以上代码在提交按钮被点击时执行。它通过getTableByClassName函数获取选中行的信息,然后使用XMLHttpRequest将该信息发送给后台PHP脚本。在PHP脚本执行完毕后,代码会在控制台打印返回的操作信息。

三、

本文介绍了如何使用JavaScript实现表格选中一行并操作后台MySQL数据库的功能。通过本文的演示,我们可以发现,JavaScript是一门非常强大的语言,它可以完成各种动态效果和交互操作。同时,在实现这类功能时,我们需要注意安全性和代码可维护性。


数据运维技术 » JavaScript实现表格选中一行并操作数据库 (js表格选中一行数据库)