Php AJAX悬停工具提示仅显示表中第一行的返回数据

Php AJAX悬停工具提示仅显示表中第一行的返回数据,php,html,ajax,Php,Html,Ajax,我使用AJAX将数据发送到PHP页面,数据从MySQL获取。将鼠标悬停在.payoudata类上,将其数据id值发送给PHP,并获取结果。它使用显示,但它仅显示与第一条记录相关的结果 以下是生成表的PHP代码: 下面是获取和显示工具提示的jQuery代码: $('.payoudata')。悬停(函数(){ var paydata=$(this.attr(“数据id”); $.ajax({ 类型:'post', url:'payout-emp-data.php', 数据:{paydata:pa

我使用AJAX将数据发送到PHP页面,数据从MySQL获取。将鼠标悬停在
.payoudata
类上,将其
数据id
值发送给PHP,并获取结果。它使用
显示,但它仅显示与第一条记录相关的结果

以下是生成表的PHP代码:


下面是获取和显示工具提示的jQuery代码:

$('.payoudata')。悬停(函数(){
var paydata=$(this.attr(“数据id”);
$.ajax({
类型:'post',
url:'payout-emp-data.php',
数据:{paydata:paydata},
成功:函数(paydataresult){
$('#PayoutData').html(paydataresult);
}
});
});
我在这

当我尝试查看第二条记录时,它正在发送数据并获得结果,但无法显示,如下面的屏幕截图所示。显示返回数据的潜在方式是什么

第一条记录截图:

第二条记录截图:


您为每一行生成一个具有相同id(PayoutData)的div,因为id属性应该是唯一的$(“#PayoutData”).html(paydataresult)将始终获取第一个

在PHP中尝试以下方法:

<?php while($srow = $stm->fetch(PDO::FETCH_ASSOC)){ 
         $rowId = $srow['application_no'];
?>                
   <tr>
      <td id="tooltip1">
         <a href="#" class="payoudata" data-id="<?= $rowId ?>"><?= $rowId ?>
           <span>
             <div id="PayoutData<?= $rowId ?>"></div>
           </span>
         </a>
      </td>
    </tr>  
<? } ?>
必须是唯一的

id属性为元素分配一个唯一标识符(可以由SGML解析器进行验证)

要解决这个问题,您需要使用类而不是ID

替换此项:

$('#PayoutData').html(paydataresult);
作者:

这一行:

<div id="PayoutData">

作者:



如果您尝试手动执行请求,是否会返回所有行?您还可以包含脚本生成的一些html代码吗?只是为了确保问题出在后端。。你能把
paydataresult
varaible转储到你的前端吗?是的,我得到了结果,请看刚才添加的屏幕截图好的!而且比我的容易。恭喜!回答得很好。很乐意帮忙:-)
$('.PayoutData', $(this)).html(paydataresult);
<div id="PayoutData">
<div class="PayoutData">