我的数据库中有一个表叫做“books\u term”,
当我提交一本书时,书和它的分类存储在这个表中。我的一些书籍有多个类别,所以我决定将每个类别存储为一个新行+图书id
例如:
id category_id book_id
1 23 14
2 45 14
3 30 14
这是“books\u term”表结构,如您所见,第14册有三类(23、45、30)
一切正常,直到我决定更新我的cms管理面板的书。
问题是:如何更新这个图书类别?如果图书存在于“图书\术语”中,如何更新图书类别?我应该用吗 foreach
为了这个目的?
这是我的php代码,它不能正常工作,
$values = $_POST['category'];
$myid = $_POST['bookid'];
foreach($values as $value) {
$check = "SELECT * FROM books_term WHERE book_id = '$myid'";
$checkresult = mysqli_query($connection,$check);
if(mysqli_num_rows($checkresult) > 0){
$update_query = "UPDATE books_term SET category_id = '$value' WHERE book_id = '$myid'";
mysqli_query($connection,$update_query);
echo 'updated';
}else{
$insert_query = "INSERT INTO books_term (category_id,book_id) VALUES ('$value','$myid')";
mysqli_query($connection,$insert_query);
echo 'inserted';
}
}
在“编辑”页面中,当我选择多个类别并单击“更新”按钮时,它只会将上次选择的类别设置为book\ id 14,如下图所示:
1条答案
按热度按时间2mbi3lxu1#
你可以先删除数据然后再插入