使用复选框在数据库中存储多个值

时间:2016-12-20 08:25:36

标签: php

我想在复选框名称变量中存储$row_tbl['Course_ID']$row_tbl['Section']值。基本上我想通过检查该字段来存储数据库中的课程ID和部分。

我该怎么办?

<?php

    if (isset($_POST["sub"])) {
        $values = $_POST['check'];
        $valuesArr = array();   

        foreach ($values as $a){
            $valuesArr[] = mysql_real_escape_string($a);
        }

        $max = sizeof($values);

        for ($i = 0; $i < $max ; $i++) {
            $query2 = "INSERT INTO course_reg (stu_id,course_id,section,semester,grade,status) VALUES ('$sesid','$valuesArr[$i]','????','Summer 2016','Z','a')";
            $reg = mysqli_query($con, $query2);
        }
    }
?>

<?php while($row_tbl = mysqli_fetch_array($query)): ?>

    <tr class="success" style="font-size:12px;">

        <td>
            <input type="checkbox" name="check[]" class="chk_val" value="<?php echo $row_tbl['Course_ID'] ?>" id="in" onclick="test()" />
        </td>

        <td><?php echo $row_tbl['Course_ID'] ?></td>
        <td><?php echo $row_tbl['Course_Title'] ?></td>
        <td><?php echo $row_tbl['Section'] ?></td>
        <td><?php echo $row_tbl['Time'] ?></td>
        <td><?php echo $row_tbl['Day'] ?></td>
        <td><?php echo $row_tbl['Dept'] ?></td>
        <td><?php echo $row_tbl['Capacity'] ?></td>

    </tr>

<?php endwhile; ?>

1 个答案:

答案 0 :(得分:0)

您需要维护每个复选框的索引值以获取选中的复选框值,请检查以下ex:

  $index = 0;
  while($row_tbl = mysqli_fetch_array($query))
  {
  <input type="checkbox" 
  name="<?php echo 'check['.$index.']['.$row_tbl['Course_ID']; ?> ]"            
  value=" <?php echo $row_tbl['Section'] ?> "/>
  <?php echo $row_tbl['Section'] ?> 

  $index++;
  }

在Php服务器页面循环索引并调用插入DB逻辑