[英]update database rows using foreach loop
我的數據庫中有一個表稱為“ books_term”,
當我提交書籍時,書籍及其類別存儲在此表中。 我的一些書有多個類別,因此我決定將每個類別存儲為新行+ book_id
例如 :
id category_id book_id
1 23 14
2 45 14
3 30 14
如您所見,這是“ books_term”表結構,書號14具有三個類別(23,45,30)
一切正常,直到我決定在我的cms的管理面板中更新這本書。
問題是:如何更新此圖書類別? 以及如果該書存在於“ books_term”中,否則如何更新書的類別? 我應該為此目的使用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,如下圖所示:
您可以先刪除數據,然后再次插入
$values = $_POST['category'];
$myid = $_POST['bookid'];
$delete_query = "DELETE FROM books_terms WHERE book_id='$myid'";
mysqli_query($connection,$delete_query);
foreach($values as $value) {
$insert_query = "INSERT INTO books_term (category_id,book_id) VALUES ('$value','$myid')";
mysqli_query($connection,$insert_query);
echo 'inserted';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.