如何使用ajax和php制作删除功能

我不知道我的代码有什么问题,但我有这个错误注意:未定义索引:删除


我想用 CRUD 做删除功能


这是我的 php 代码:


    if($_POST["delete"])

{

    $query = '

    DELETE FROM `users` WHERE id = :id

    ';

    $statement = $connect->prepare($query);

    $statement->execute(

        array(

            ':id'              => $_POST['id']

        )

    );

    $result = $statement->fetchAll();

    if(isset($result))

    {

        echo '<div class="alert alert-fill-danger" role="alert">User Deleted!<div>';

    }

}

这是 AJAX 函数


$(document).on('click', '#delete', function(){

       var id = $(this).data('id');

       $('#message').html('');


       Swal.fire({

  title: 'Are you sure?',

  text: "You want to delete this user?",

  type: 'warning',

  showCancelButton: true,

  confirmButtonColor: '#3085d6',

  cancelButtonColor: '#d33',

  confirmButtonText: 'Yes'

  }).then((result) => {

       if (result.value){

        $.ajax({

         url:'/auth/action',

         method:'POST',

         data:{id:id},

         success:function(data)

         {

          if(data != '')

          {

           load_user_data();

           $('#message').html(data);

          }

         }

        });

                      Swal.fire(

      'User Deleted!',

      '',

      'success'

    )

       }

       })


      });

我不知道我在这里错过了什么,但是 php 中的功能不起作用??


心有法竹
浏览 143回答 2
2回答

Helenr

这是我的问题的答案:Dvar action = 'delete';我只是在 ajax 中的 id 下添加此代码if($_POST["action"] == 'delete')&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $query = '&nbsp; &nbsp; &nbsp; &nbsp; DELETE FROM `users` WHERE id = :id&nbsp; &nbsp; &nbsp; &nbsp; ';&nbsp; &nbsp; &nbsp; &nbsp; $statement = $connect->prepare($query);&nbsp; &nbsp; &nbsp; &nbsp; $statement->execute(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ':id'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; => $_POST['id']&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; $result = $statement->fetchAll();&nbsp; &nbsp; &nbsp; &nbsp; if(isset($result))&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo '<div class="alert alert-fill-danger" role="alert">User Deleted!<div>';&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }

holdtom

也许尝试以下操作: 在尝试在 PHP 中使用变量之前测试它们的可用性。此外 - 将没有记录集,因此fetchAll将无法工作。if( isset( $_POST['delete'], $_POST['id'] ) {&nbsp; &nbsp; ob_clean();&nbsp; &nbsp; $id=$_POST['id'];&nbsp; &nbsp; $query = 'DELETE FROM `users` WHERE id = :id';&nbsp; &nbsp; $statement = $connect->prepare( $query );&nbsp; &nbsp; $result = $statement->execute( array( ':id' => $id ) );&nbsp; &nbsp; if( $result && $statement->rowCount() > 0 ){&nbsp; &nbsp; &nbsp; &nbsp; echo '<div class="alert alert-fill-danger" role="alert">User Deleted!<div>';&nbsp; &nbsp; }&nbsp; &nbsp; exit();}
打开App,查看更多内容
随时随地看视频慕课网APP