使用pdo和oop删除php行的链接
我的案例:用户登录后。。。它会在桌子上显示他有什么书。。。我在每本书的侧面添加了删除链接。。。例如,我点击了侧边数学书中的“删除”链接,我想将其删除。。请告诉我怎么做。 我得到了这些书,但当我点击删除链接时,什么也没发生 此功能在用户登录时显示书籍使用pdo和oop删除php行的链接,php,sql,oop,pdo,Php,Sql,Oop,Pdo,我的案例:用户登录后。。。它会在桌子上显示他有什么书。。。我在每本书的侧面添加了删除链接。。。例如,我点击了侧边数学书中的“删除”链接,我想将其删除。。请告诉我怎么做。 我得到了这些书,但当我点击删除链接时,什么也没发生 此功能在用户登录时显示书籍 public function getBooks($start = 0, $limit = 2) { $sql_start = $start * $limit; $sql_limit = $limit; //SELECT l
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'>
<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>";
if(isset($_POST['delete'])){
deleteBooks($id1, $id2);
}
}
{
}首先,您必须在链接上添加book.id
echo”“
单击“是”后,您将收到一个get请求。
不确定之后在何处调用delete函数,但可以传递$\u GET
它上面的参数deleteBooks($\u GET['id])
。
以及它自身的功能
公共函数deleteBooks($book\u id){
$query=“从userBook中删除,其中userBook.user\u id=?和userBook.book\u id=?”;
$statment=$this->db->prepare($query);
$station->bind_参数(“ss”、$user_id、$book_id);
$station->execute();
//
}
我想您应该在会话中存储用户id。您需要在deleteBooks方法的execute函数中绑定参数,然后@这家伙有两个大拇指。。就是这样,你的函数除了准备一个查询之外什么都不做。。这就是为什么什么都没有发生我尝试绑定参数。。。还是不行。。请帮助我了解更多信息表中的链接不会将用户id或图书id传递给函数。因此,您只需调用它而无需任何参数。您的查询永远不会知道哪本书和哪位用户
public function deleteBooks($id1, $id2)
$id1 = $_GET['user_id'];
$id2 = $_GET['book_id'];
$query = "Delete FROM userBook WHERE userBook.user_id=id1 AND userBook.book_id =id2";
$statment = $this->db->prepare($query);
$statment->execute([$id1, $id2]);
$result = $statment->rowCount();
$this->deleteBooks= ($result == "1");
return $this->deleteBooks;