Я пытаюсь вставить этот флажок в базу данных, используя WHERE
. Код перенаправляется без каких-либо ошибок. Но он не обновляется в базе данных. Когда я сниму флажок, строка будет удалена без каких-либо проблем для идентификатора. У меня только проблема с INSERT
. Кажется, я не могу найти здесь проблему.
Код ниже работает без использования WHERE
.
$bId = $_POST['fm_id']; // this is coming from the hidden input field
if (isset($_POST['fm_day_hid'], $_POST['fm_day'])) {
$ckb = $_POST['fm_day'];
for ($i = 0; $i < count($ckb); $i++){
if(!empty($ckb)){
$arrayMovies = $ckb[$i];
$sql = "INSERT INTO checkbox_batchdays (cbx_days)
SELECT * FROM (SELECT '$arrayMovies') AS tmp WHERE NOT EXISTS
(SELECT cbx_days FROM checkbox_batchdays WHERE cbx_days = '$arrayMovies')
WHERE cbx_batchid='$bId'";
$query = mysqli_query($con, $sql);
}
}
foreach($_POST['fm_day_hid'] as $moviesHidden) {
if(!in_array($moviesHidden, $_POST['fm_day'])){
$sql = "DELETE FROM checkbox_batchdays
WHERE cbx_days='$moviesHidden' AND cbx_batchid = '$bId'";
$query = mysqli_query($con, $sql);
}
}
}
else {
$sql = "DELETE FROM checkbox_batchdays WHERE cbx_batchid = '$bId'";
$query = mysqli_query($con, $sql);
}
if( $query ) {
header("Location: ../../batches.php");
}
else {
echo "Not Deleted!";
}
Вот ответ.
for ($i = 0; $i < count($ckb); $i++){
if(!empty($ckb)){
$arrayMovies = $ckb[$i];
$sql = "INSERT INTO checkbox_batchdays (cbx_batchid, cbx_days)
SELECT * FROM
(SELECT '$bId', '$arrayMovies') AS tmp
WHERE NOT EXISTS
(SELECT cbx_batchid, cbx_days FROM checkbox_batchdays
WHERE cbx_days = '$arrayMovies' AND cbx_batchid='$bId')";
$query = mysqli_query($con, $sql);
}
}
WHERE
меня есть проблема.