使用jquery和ajax插入多个复选框值,但我只插入一条记录

时间:2018-10-14 15:05:55

标签: php jquery mysql ajax

我的数据库中有此表,

see table image

现在,在raw_selected_rubric(Level)列中,我将根据已选中的复选框插入多个值。 例如,

checkbox image

基于图片,我选择了3级和4级,当我单击“提交”时,仅在数据库中插入了3级值。

inserted checkbox

输入字段,

<input class="rubricChkbox" type="checkbox" value="3" />

jQuery和Ajax,

var rubricChkbox = [];
    $('.rubricChkbox').each(function(){  
            if($(this).is(":checked"))  
            {  
                 rubricChkbox.push($(this).val());  
            }  
       });  
       rubricChkbox = rubricChkbox.toString();
$.ajax({
        url: "Queries/save.php",
        type: "POST",
        data: { 
              "rubricChkbox":rubricChkbox
              },
        success: function(yey){
          console.log(yey);
          alert(yey);
        }
      });

Queries / save.php,

if(isset($_POST['rubricChkbox'])) {
$rubric_value = $_POST['rubricChkbox'];

        $sql_raw = "INSERT INTO rubric_selected (raw_selected_rubric, Saved, ID_cmat, ID_users)

        VALUES  ('$rubric_value', '1')";

        $success = mysqli_query($conn, $sql_raw); 
}

我的代码有什么问题?对不起,我还在学习jquery和ajax。谢谢您的帮助。

我想发生的是,如果我选择了3级和4级,那么两个数据都将像这样插入,

expected output

2 个答案:

答案 0 :(得分:1)

例如,您需要具有多个插入语句:

if(isset($_POST['rubricChkbox'])) {
$rubric_value = $_POST['rubricChkbox'];
    foreach($rubric_value as $value){
           $sql_raw = "INSERT INTO rubric_selected (raw_selected_rubric, Saved, ID_cmat, ID_users)

            VALUES  ('$value', '1')";

            $success = mysqli_query($conn, $sql_raw);

    }
}

答案 1 :(得分:0)

是的,先生,我已经尝试过了

if(isset($_POST['rubricChkbox'])) {
      $rubric_value = $_POST['rubricChkbox'];
      foreach($rubric_value as $value){

        $sql_raw = "INSERT INTO rubric_selected (raw_selected_rubric, Saved, ID_cmat, ID_users)

        VALUES  ('$value', '1')";

        $success = mysqli_query($conn, $sql_raw);
 }
}