У меня есть флажок:
<input value="".$count_FRID."" name="rubric_chkbox[]" />
Я использую jquery
и ajax
, чтобы получить данные и использую цикл foreach
, чтобы вставить их в мою базу данных следующим образом:
var rubricChkbox = new Array();
$("input:checked").each(function() {
rubricChkbox['rubric_chkbox[]'].push($(this).val());
});
console.log(rubricChkbox);
$.ajax({
url: "Queries/save.php",
type: "POST",
data: {
"rubricChkbox":rubricChkbox
},
success: function(yey){
console.log(yey);
alert(yey);
}
});
Для удаления флажка:
<input value="1" name="rubric_chkbox[]" type="checkbox" class="checkbox" />
<input value="2" name="rubric_chkbox[]" type="checkbox" class="checkbox" />
jQuery и AJAX:
var rubricChkbox = new Array();
var uncheked = new Array();
$(".checkbox:checked").each(function() {
rubricChkbox.push($(this).val());
});
$(".checkbox:checkbox:not(:checked)").each(function() {
uncheked.push($(this).val());
});
$.ajax({
url: "Queries/save.php",
type: "POST",
data: {
"rubricChkbox":rubricChkbox
},
success: function(yey){
console.log(yey);
alert(yey);
}
});
Например, если значения 1 и 2 вставлены в мою базу данных, и если я не отмеченфлажки 1 и 2, разве код не должен работать для удаления строк?
Я получаю ошибку ниже:
Uncaught TypeError: Cannot read property 'push'
РЕДАКТИРОВАТЬ, save.php:
if (isset($_POST['rubricChkbox']) || isset($_POST['uncheked']) || isset($_POST['user_id'])) {
$rubric_value = $_POST['rubricChkbox'];
$rubric_uncheck_value = $_POST['uncheked'];
$IDuser = $_POST['user_id'];
foreach($rubric_value as $rubric_check) {
$sql_check = "SELECT raw_selected_rubric FROM rubric_selected INNER JOIN cmat_composition ON rubric_selected.ID_cmat = cmat_composition.ID_cmat WHERE rubric_selected.ID_users = '$IDuser' AND raw_selected_rubric = '$rubric_check'
AND rubric_selected.Saved = '1'";
$result_check = mysqli_query($conn,$sql_check);
if (mysqli_num_rows($result_check) <= 0){
$sql_raw = "INSERT INTO rubric_selected (raw_selected_rubric, Saved, ID_users)
VALUES ('$rubric_check', '1', '$IDuser')";
mysqli_query($conn, $sql_raw);
}
}
}