Php pdo按钮删除行

Php pdo按钮删除行,php,pdo,pagination,Php,Pdo,Pagination,当特定用户登录时,它将显示他拥有的书籍。。在每个图书删除按钮中。。我想在单击“删除”按钮时删除行。。。但当我点击删除按钮,它重新加载页面,请我需要帮助 这是getbooks函数 public function getBooks($start = 0, $limit = 2) { $sql_start = $start * $limit; $sql_limit = $limit; //SELECT loginUser.username, Library.nameOfBoo

当特定用户登录时,它将显示他拥有的书籍。。在每个图书删除按钮中。。我想在单击“删除”按钮时删除行。。。但当我点击删除按钮,它重新加载页面,请我需要帮助

这是getbooks函数

public function getBooks($start = 0, $limit = 2)
{
    $sql_start = $start * $limit;
    $sql_limit = $limit;

    //SELECT loginUser.username, Library.nameOfBook FROM loginUser JOIN userBook JOIN Library ON userBook.user_id = loginUser.id AND userBook.book_id = Library.id WHERE loginUser.username="loay";
    $query = "SELECT Library.nameOfBook FROM loginUser JOIN userBook JOIN Library ON userBook.user_id = loginUser.id AND userBook.book_id = Library.id WHERE loginUser.username=:username LIMIT $sql_start, $sql_limit";
    $statment = $this->db->prepare($query);
    $statment->execute([
        ':username' => $this->username
        //,':start' => $start, ':limit' => $limit
    ]);
    $result = $statment->fetchAll();

   echo "<table border='1'>
   <form method='POST'>
    <tr>
    <th>Books</th>
    <th>Action</th>
    </tr>";
    foreach($result as $row){
        echo "<tr>";
        echo "<td>" . $row['nameOfBook'] . "</td>";
        echo "<td>" ."<input type='submit' name='delete' value='Delete' method='post' >" . "</td>";
        echo "</tr>";
    }

    echo "</table>";
    echo "</form";

    if(isset($_POST['delete'])){
        die("SS");
    }
}
公共函数getBooks($start=0,$limit=2) { $sql\u start=$start*$limit; $sql\u limit=$limit; //从userBook.user\u id=loginUser.id和userBook.book\u id=Library.id上的loginUser.username、Library.nameOfBook中选择loginUser.username、Library.nameOfBook,其中loginUser.username=“loay”; $query=“在userBook.user\u id=logiuser.id和userBook.book\u id=Library.id上选择logiuser中的Library.nameOfBook加入userBook加入Library,其中logiuser.username=:username LIMIT$sql\u start,$sql\u LIMIT”; $statment=$this->db->prepare($query); $station->execute([ ':username'=>this->username //,':start'=>$start':limit'=>$limit ]); $result=$station->fetchAll(); 回声“ 书 行动 "; foreach($结果为$行){ 回声“; 回显“$row['nameOfBook']”; 回声“.”; 回声“; } 回声“;
echo“我使用jquery和ajax实现了删除功能

在表格代码上方添加:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
function deleteBook(b) {
 $(document).ready(function() {
    var book = $(b).parent('td').prev('td').html();
    if(confirm("Are you sure you want to delete book - "+book+"?") == false){
        return;
    }
    var ids = $(b).attr('id').substr(6).split('-');
    var book_id_to_delete = ids[0];
    var user_id = ids[1];
    //alert("book_id is " + book_id_to_delete + ", user_id is " + user_id);
    $.ajax({
      type: "POST",
      url: "" + "deletebook.php",
      data: {
        'book_id': book_id_to_delete,
        'user_id': user_id,
        submit: 'submit',
      },
      success: function(res) {
        if (res == "deleted") {
          $(b).closest('tr').remove();
        } else {
          alert(res);
        }
      }
    });
  });
}
</script>
下面的代码将通过ajax执行,以便从数据库中删除所选的书籍

创建一个名为-deletebook.php的文件

并添加以下代码:

<?php
    include_once('User.php');

    if(isset($_POST['submit'])){
        $object = new User();
        if($object->deleteBook($_POST['book_id'], $_POST['user_id'])){
            die('deleted');
        }
        else {
            die("fail");
        }
    }
?>


您只是提交了当前页面,这就是重新加载页面的原因。如果您不想重新加载页面,而只想删除要发送的数据,那么选择Ajax,您是否尝试过这个?'echo'他给了我这个错误警告:在……中遇到了一个非数值警告:在/var/www/html/user.php第111行遇到了一个非数值警告:在/var/ww中遇到了一个非数值警告:在/var/ww中遇到了一个非数值w/html/User.php第111行让我们来看看。
public function deleteBook($book_id, $user_id)
{
    $stmt = $this->db->prepare("DELETE FROM userBook WHERE book_id = :book_id AND user_id = :user_id");
    $stmt->bindValue(":book_id", $book_id);
    $stmt->bindValue(":user_id", $user_id);
    return $stmt->execute();
}
<?php
    include_once('User.php');

    if(isset($_POST['submit'])){
        $object = new User();
        if($object->deleteBook($_POST['book_id'], $_POST['user_id'])){
            die('deleted');
        }
        else {
            die("fail");
        }
    }
?>