通过php中的复选框传递两个变量

时间:2017-03-09 03:17:01

标签: 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'] ?>&nbsp/&nbsp 0 </td>


                    <?php

                  }

1 个答案:

答案 0 :(得分:1)

要传递多个值,您需要创建多个具有相同名称(作为数组)的复选框

 <input type="checkbox" name="check[]" class="chk_val" value="value1"/>
 <input type="checkbox" name="check[]" class="chk_val" value="value2"/>
 <input type="checkbox" name="check[]" class="chk_val" value="value3"/>
 <input type="checkbox" name="check[]" class="chk_val" value="value4"/>

在你的控制器中,

$values = $request->check; //the array of checked inputs.

然后你可以循环它

foreach($values as $value) {
    ...
}

<强>更新

根据聊天讨论,您希望每个复选框发送2个不同的字段。在您的复选框中,将两个字段都放在这个

@foreach($courses as $course)
    <input type="checkbox" 
        name="check[]" 
        class="chk_val" 
        value="{{ $course->id }}-{{ $course->section }}"/>
@endforeach

注意这里的价值。我添加了一个在控制器中有用的分隔符-。现在在控制器中

public function selectedCourses(Request $request)
{
    ... //whatever you do for validation

    //loop through selected courses
    foreach( $request->check as $values ) { 
        $values = explode("-", $values); //split where we added the dash
        $id = $values[0]; //the course ID
        $section = $values[1]; // the course section

        ... do what you want here with that information
    }
}

瞧!