Problemer med array_key exists
Hej,Jeg har en form med en række checkboxes, hvor der kan tilføjes eller fjernes krydser. Scriptet fungerer når der tilføjes nye afkrydsning, men når de fjernes bliver de ikke fjernet i databasen:
Afkrydsningsfelterne med varrierende values:
if (isset($shift[$row['db_date']]) && $shift[$row['db_date']] == 9) {
echo '<input type="checkbox" name="date_v['.$row['db_date'].']" value="9" checked="checked">Vagt -';
echo '<input type="hidden" name="counter['.$row['db_date'].']" value="9">';
} else {
echo '<input type="checkbox" name="date_v['.$row['db_date'].']" value="9">Vagt -';
echo '<input type="hidden" name="counter['.$row['db_date'].']" value="9">';
}
Til sidste køres:
if (isset($_POST['submit'])) {
$date_v2 = $_POST['date_v'];
$counter_2 = $_POST['counter'];
foreach ($counter_2 as $d => $s) {
if (array_key_exists($d, $date_v2)) {
$sql_check = "SELECT * FROM requests_2019 WHERE user_id = $user_id_login AND date = '$d' AND shift_type_id = $date_v2[$d]";
$result_check = mysqli_query($dbc, $sql_check);
$number = mysqli_num_rows($result_check);
if ($number == 0) {
$sql_add = "INSERT INTO requests_2019 (user_id, shift_type_id, date) VALUES ($user_id_login, $date_v2[$d], '$d')";
$res_add = mysqli_query($dbc, $sql_add);
}
} else {
$sql_check = "SELECT * FROM requests_2019 WHERE user_id = $user_id_login AND date = $d";
$result_check = mysqli_query($dbc, $sql_check);
$number = mysqli_num_rows($result_check);
if ($number == 1) {
$sql_add = "DELETE FROM requests_2019 WHERE user_id = $user_id_login AND date = '$d'";
$res_add = mysqli_query($dbc, $sql_add);
}
}
}
echo '<p>Modtaget!</p>';
}