php - 使用 foreach 循环、jquery 和 ajax 插入多个复选框值

标签 php jquery mysql ajax

我有输入字段复选框,

<input value="1" name="rubric_chkbox[]" type="checkbox" class="checkbox" />
<input value="2" name="rubric_chkbox[]" type="checkbox" class="checkbox" />
<input value="3" name="rubric_chkbox[]" type="checkbox" class="checkbox" />

我的问题是,如果我选中了所有复选框,则在 foreach 循环中插入查询, checked checkboxes

它只会在我的数据库中插入值 1 和 2,而忽略值 3。

我使用 jquery 和 ajax 来获取复选框。

var rubricChkbox = new Array();
    $(".rubricChkbox:checked").each(function() {
         rubricChkbox.push($(this).val()); 
    });

    console.log(rubricChkbox);

    $.ajax({
        url: "Queries/save.php",
        type: "POST",
        data: {
          "rubricChkbox":rubricChkbox
        },
        success: function(yey){
          console.log(yey);
          alert(yey);
        }
      });
  });
});

这是我的 save.php,

if (isset($_POST['rubricChkbox']) || isset($_POST['uncheked']) || isset($_POST['user_id'])) {
$rubric_value = $_POST['rubricChkbox'];
    $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); 


          }

        }

我错过了什么?谢谢。

最佳答案

对您来说最好的建议是,如果某些事情没有按照您想要的方式工作,您应该检查每一步发生的情况,直到找到问题为止。这不仅适用于这个问题,还适用于任何编程问题(以及许多其他问题)。

在这种情况下

  • 浏览器发送的数据是否正确?您已经有了语句 console.log(rubricChkbox);。你检查过这个值吗?为什么没有将其包含在问题中?
  • 正确的数据是否到达 PHP 脚本?使用类似 print_r ($_POST); 的内容。
  • SQL INSERT 取决于 SQL SELECT 的结果。您是否检查过此条件是否为真,否则您的代码甚至不会尝试插入。
  • INSERT 语句是否返回一些错误?

关于php - 使用 foreach 循环、jquery 和 ajax 插入多个复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52943199/

相关文章:

php - 在 MySql 和 PHP 中插入随机数据以进行基准测试

php - 从自定义目录加载 Symfony2 翻译

php - 简单的 Twitter 流 API 脚本

javascript - 将错误消息从 php 发送到 ajax

Javascript 变量不保留值

php - 将日期转换为月份名称和年份

php - 选择多个用户并向他们发送邀请

java - 向 Maven-Java-project 添加持久性时出错(org.codehaus.mojo)?

php - 插入语句中的 MySql 表标识符

jquery - 浏览器之间的 SVG 单击事件处理有何不同?