Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取我在表中选择的数据行的id?_Php_Css_Sql_Html Table - Fatal编程技术网

Php 如何获取我在表中选择的数据行的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

我制作了一个由SQL数据库填充的表。使用CSS,当我将鼠标悬停在表格行上时,它会高亮显示。当我单击一个表行(记录)时,我想获取该记录的id,并将其放入一个变量中,以便更新或删除该记录

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');
})