将php echo $ row数据显示为bootstrap模式forms

我目前有以下数据表来显示我的数据库联系人列表。 每一行,我还插入了一个“编辑”和“删除”按钮,并为点击按钮时jQuery提供了data-id = "" 。 当单击按钮时,通过ajax,我将从getcontact.php获取数据并将其设置为模式forms的相应输入,但数据似乎不显示在表单值中。 我可以知道哪里出错了吗?

tables.php

 
ID Name Company Position Phone Email Gender Date Registered Edit Delete
<button id="editButton" type="button" class="btn btn-primary" datatoggle="modal" data-target="#editModal" data-id=""> Edit <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#deleteModal" data-id=""> Delete

在此处输入图像描述

模态(与tables.php在同一页面)

   

jQuery的

 $("#editButton").click(function(e){ e.preventDefault(); var uid = $(this).data('id'); // get id of clicked row $.ajax({ url: 'getcontact.php', type: 'POST', data: 'id='+uid, dataType: 'json', success: function(response){ $("#nameInput").val(result[0]); $("#companyInput").val(result[1]); $("#posInput").val(result[2]); $("#contactInput").val(result[3]); $("#emailInput").val(result[4]); $("#genderInput").val(result[5]); } }); }); 

getcontact.php

  

在此处输入图像描述

1 – 您正在从您的php文件发送编码的json并直接从您的javascript代码中使用它,这是无效的,可以这么说,

2 – 您使用ajax错误地将数据对象发送到php,它应该如下而不是data: {id: uid},

3 – 你声明了错误的data-id,它应该如下: var uid = $(this).attr('data-id');

你需要decode你的json响应如下:

 var uid = $(this).attr('data-id'); $.ajax({ url: 'getcontact.php', method: 'POST', data: {id: uid}, success: function(response){ var result = JSON && JSON.parse(response) || $.parseJSON(response); ... // rest of your code ... 

更新

你在这部分有一个问题:

 while($row = mysqli_fetch_array($result)){ $rows[] = $row['*']; } 

要添加整个数组,您需要执行以下操作:

 while($row = mysqli_fetch_array($result)){ $rows[] = $row; }