Php 如何获取我在表中选择的数据行的id?
我制作了一个由SQL数据库填充的表。使用CSS,当我将鼠标悬停在表格行上时,它会高亮显示。当我单击一个表行(记录)时,我想获取该记录的id,并将其放入一个变量中,以便更新或删除该记录Php 如何获取我在表中选择的数据行的id?,php,css,sql,html-table,Php,Css,Sql,Html Table,我制作了一个由SQL数据库填充的表。使用CSS,当我将鼠标悬停在表格行上时,它会高亮显示。当我单击一个表行(记录)时,我想获取该记录的id,并将其放入一个变量中,以便更新或删除该记录 echo "<table>"; echo "<tr>"; echo "<th>".'ID'."</th>"; echo "<th>&quo
echo "<table>";
echo "<tr>";
echo "<th>".'ID'."</th>";
echo "<th>".'Username'."</th>";
echo "<th>".'Name'."</th>";
echo "<th>".'Role'."</th>";
echo "</tr>";
foreach($result as $pers)
{
echo "<tr>";
echo "<td>".$pers->id."</td>
<td>".$pers->username."</td>
<td>".$pers->name."</td>
td>".$pers->role."</td>";
echo "</tr>";
}
echo "</table>";
echo”“;
回声“;
回显“'ID.”;
回显“'Username.”;
回显“'Name.”;
回显“'Role.”;
回声“;
foreach(结果为$pers)
{
回声“;
回显“%$pers->id”
“$pers->username。”
“$pers->name。”
td>“$pers->role.”;
回声“;
}
回声“;
在上面,您可以看到创建表的代码,它可以工作,我只需要一种获取de id的方法。希望这有帮助。单击它将把ID发送到控制台。源代码中的文档
/*将所有行放入一个数组中*/
常量行=[…document.getElementsByTagName(“tr”);
/*为每行分配事件侦听器*/
rows.map(row=>row.addEventListener(“单击”,()=>{
/*返回第一个元素*/
const id=行查询选择器(“td”);
console.log(id.textContent);
}));代码>
tr:悬停{
背景颜色:黄色;
}
1.
用户名1
名字1
角色1
2.
用户名2
名称2
角色2
3.
用户名3
名字3
角色3
要在PHP中使用JS数据,可以使用Jquery ajax调用。
$( "tr" ).click(function() {
var id = $(this).first("td").html(); // now you have it in JS available
$.ajax({
url: "yourfile.php", // you can also send it to the php file that updates or deletes the record
data: {"id": id},
type: 'POST',
success : function(data) { }
});
});
然后您的PHP代码:
<?php
if(isset($_POST['id'])){
// session id now has your selected id as value.
$_SESSION['id'] = $_POST['id'];
}
else{
unset($_SESSION['id']); // unset session id every time the page reloads
echo "<table>";
echo "<tr>";
echo "<th>".'ID'."</th>";
echo "<th>".'Username'."</th>";
echo "<th>".'Name'."</th>";
echo "<th>".'Role'."</th>";
echo "</tr>";
foreach($result as $pers)
{
echo "<tr>";
echo "<td>".$pers->id."</td>
<td>".$pers->username."</td>
<td>".$pers->name."</td>
<td>".$pers->role."</td>";
echo "</tr>";
}
echo "</table>";
}
我认为最好的做法是:
将数据属性赋予“tr”元素:
将它放入tr
元素上的自定义数据属性中,然后在单击处理程序中从那里读取它…这是什么意思?那么,使用$pers->id
如何?此外,这与CSS或“ID”有什么关系?
echo "<tr data-id='".$pers->id."'>";
...
echo "</tr>";
$( "tr" ).click(function() {
var id = $(this).attr('data-id');
})