PHP的$this函数

$this function with PHP

提问人:MartanKing 提问时间:3/19/2021 更新时间:3/19/2021 访问量:46

问:

我有一个问题。一个包含一些信息的表,但我想做,当我单击$this tr(例如第二个)时,它向我显示数据库中的所有信息。但我不知道,我如何使用$this功能。或者你知道其他方式,我应该怎么做?我从带有变量的数据库获得的所有信息,但我不知道我如何在屏幕上的 JS 模态框中显示。谢谢

<?php
  $i = 0;
while($row = $result->fetch_assoc())
{
  $id=$row['ID'];
  $name=$row['Name'];
  $mail=$row['Email'];
  $subject=$row['Subject'];
  $message=$row['Message'];  
  $date=$row['Date'];
  $ip=$row['IP'];
  $device=$row['Device'];
  $os=$row['OS'];
  $browser=$row['Browser'];
  $finish=$row['Finish'];
  echo 
      '<tr class="trX myBtn" id="'.$i.'">
          <td class="tdX">' . $id . '</td>
          <td class="tdX">' . $name . '</td>
          <td class="tdX">' . $subject . '</td>
          <td class="tdX">' . $date . '</td>
          <div id="panel">
          ID:' . $id . '
          Name:' . $name . '
          Email:' . $mail . '
          Subject:' . $subject . '
          Message:' . $message . '
          Date:' . $date . '
          IP:' . $ip . '
          Mobile:' . $device . '
          OS:' . $os . '
          Browser:' . $browser . '
          Finish:' . $finish . '
        </div>
      </tr>';
   $i++;
   echo $i;

}
echo ' </table>  ';
?>
<script>
 $(document).ready(function(){
 $(".trX").click(function(){
   $(this).$("#panel").slideToggle("slow");
 });
});

var modal = document.getElementById("myModal");

var btn = document.getElementById("<?php echo $i ?>");

var span = document.getElementsByClassName("close")[0];

btn.onclick = function() {
 modal.style.display = "block";
}

span.onclick = function() {
 modal.style.display = "none";
}

window.onclick = function(event) {
 if (event.target == modal) {
   modal.style.display = "none";
 }
}
</script>
javascript php jquery html-table 这个

评论


答:

0赞 jpneey 3/19/2021 #1

使用类而不是 Id。 为您的 s 添加一个通用选择器,然后在其上附加一个事件侦听器。您还可以添加有关元素属性的详细信息,以便使用它。trdata-*

TR:

<tr class="trX" data-id="<?php echo $someVar; ?>">...</tr>
$(function(){
  
    $('.trX').on('click', function(){
         // you can now use $(this) here regardless of the tr
         var dataId = $(this).data('id');
         alert(dataID);
    })

 
})

评论

0赞 MartanKing 3/20/2021
它不起作用(对我来说)。您是否请进一步描述此解决方案,或重写我的代码?谢谢