Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
使用ajax和php编辑.php表单_Php_Jquery_Ajax - Fatal编程技术网

使用ajax和php编辑.php表单

使用ajax和php编辑.php表单,php,jquery,ajax,Php,Jquery,Ajax,简介 我正在做一个服务器端数据表库 下面的代码既没有打印$stmt也没有打印$row,因此我看不出有什么问题。这很糟糕,因为我想解决这个问题而不发布 <?php if (isset($_POST["edit_id"])) { $stmt = $conn->prepare("SELECT * FROM `employees` WHERE `id` = ?"); print_r($stmt); $stmt->bind_para

简介 我正在做一个服务器端数据表库

下面的代码既没有打印$stmt也没有打印$row,因此我看不出有什么问题。这很糟糕,因为我想解决这个问题而不发布

<?php
    if (isset($_POST["edit_id"])) {
        $stmt = $conn->prepare("SELECT * FROM `employees` WHERE `id` = ?");
        print_r($stmt);
        $stmt->bind_param("i",$id);
        $id = $_POST['edit_id'];
        $stmt->execute();
        $result = mysqli_query($stmt);
        $row=mysqli_fetch_assoc($result);
        //$result = $stmt->get_result();
        //$row = mysqli_fetch_array($stmt);
        print_r($row);
    }
?>
我的编辑按钮(您可以清楚地看到,我将其命名为编辑按钮)

columnDefs: [
      {  targets: -1,
         render: function (data, type, row, meta) {
            return '<button type="submit"  class="edit_btn btn btn-success btn-md active" data-id=s-"' + meta.row + '"  id=s-"' + meta.row + '" value="edit" name="edit_btn" data-toggle="modal" data-target="#editForm">  <span class="glyphicon glyphicon-pencil"></span>  </a>';
         }
      }
    ]
columnDefs:[
{目标:-1,
呈现:函数(数据、类型、行、元){
返回“”;
}
}
]
最后,我将在编辑表单中回显这些值,如下所示:

 <input type="text" value="<?php echo $row['first_name']  ?>"  class="" id="edit2" name="first_name" required>

PHP代码的第一部分是检查数据中是否设置了
edit\u btn

if (isset($_POST["edit_btn"])) {
您传递的数据设置为

data: { edit_id : edit_id },
由于您没有设置此项,它将始终失败,您可以轻松更改此项以检查ID是否已设置

if (isset($_POST["edit_id"])) {
编辑: 还要感谢菲尔

ajax调用需要

$.ajax({
  url: 'index.php',
  dataType: "json",
  method: 'POST',
  data: { edit_id : edit_id },
  success: function(result) {
          //alert(result);
              $("#edit_id").val(result);
    } //success func
}); //ajax

还注意到您的
success
方法正在传递
result
,并且您正在方法内部的代码中使用
eidt\u id

为什么tge$stmt有“id=?”?这里不应该有一个变量,特别是$i吗?@GuyLouzon-OP正在使用prepared语句。prepared语句用于sqli注入。我将$id绑定到它,这是来自ajax调用的edit_id。尽管如此,在$stmt和之前的代码中都没有提到$i和i。。。也许是me@GuyLouzon因此,您不必一直在这里提问,请仔细阅读此~好的。我做了这三件事(并且同意)。将在我的新代码中编辑。我不认为它完全解决了问题,但仍然没有打印。更新了
成功
方法。输入
$(“#编辑id”).val(结果)
使我的整个网页如下所示:DataTables服务器端有那么糟糕吗?输入
$(“#edit_id”).val(edit_id)
会获取编辑id。由于某些原因,单击后仍无法打印。但你们把我引向了正确的方向。
$.ajax({
  url: 'index.php',
  dataType: "json",
  method: 'POST',
  data: { edit_id : edit_id },
  success: function(result) {
          //alert(result);
              $("#edit_id").val(result);
    } //success func
}); //ajax