繁体   English   中英

从选择标记的foreach循环创建数组,并将其通过php形式传递

[英]create an array from a foreach loop of select tag and pass it through php form

我不知道如何更好地表达它,但是我认为我的编码显示揭示了我的问题..我正试图从foreach循环中获取值的选择标记列表,并将其转换为数组,然后使用表单发布操作将其传递给我,卡住了从循环中检索选择标记值数组..这是我的代码

<form method="post" action="<?php echo base_url();?>index.php?admin/manage_attendance/


<?php 
//STUDENTS ATTENDANCE

 foreach($students as $row)
        {
 ?>

<select name="status" class="form-control" style="width:100px; float:left;">
<option value="0" <?php if($status == 0)echo 'selected="selected"';?>></option>
<option value="1" <?php if($status == 1)echo 'selected="selected"';?>>Present</option>
<option value="2" <?php if($status == 2)echo 'selected="selected"';?>>Absent</option>
</select>


<?php 
} 
?>

<input type="submit" class="btn btn-default"    value="save" style="float:left; margin:0px 10px;">
</form>

您的代码

<select name="status" class="form-control" style="width:100px; float:left;">...
</select>

在foreach循环中,当然会在每个循环中执行。 也许您可以将其置于循环之外。

我只是有一个简单的解决方案..我只是写了一些代码,所以我的解决方案是添加一个数组作为select标签的name属性,使foreach语句在循环时将其填满,这是完整的码

index.php?admin / manage_attendance /“>

    <?php 
        //STUDENTS ATTENDANCE

        foreach($students as $row)
        {
            ?>
            <tr class="gradeA">
                <td><?php echo $row['roll'];?></td>
                <td><?php echo $row['name'];?></td>
                <td align="center">

                    <?php 
                    //inserting blank data for students attendance if unavailable
                    $verify_data    =   array(  'student_id' => $row['student_id'],
                                                'date' => $full_date);
                    $query = $this->db->get_where('attendance' , $verify_data);
                    if($query->num_rows() < 1)
                    $this->db->insert('attendance' , $verify_data);

                    //showing the attendance status editing option
                    $attendance = $this->db->get_where('attendance' , $verify_data)->row();
                    $status     = $attendance->status;
                    ?>


                        <select name="status[]" class="form-control" style="width:100px; float:left;">
                            <option value="0" <?php if($status == 0)echo 'selected="selected"';?>></option>
                            <option value="1" <?php if($status == 1)echo 'selected="selected"';?>>Present</option>
                            <option value="2" <?php if($status == 2)echo 'selected="selected"';?>>Absent</option>
                        </select>
                        <input type="hidden" name="student_id"          value="<?php echo $row['student_id'];?>" />
                        <input type="hidden" name="date"                    value="<?php echo $full_date;?>" />

            <?php 
        }

        ?>
        <input type="text" name="test"                  value="<?php echo $string?>" />
        <input type="submit" class="btn btn-default"    value="save" style="float:left; margin:0px 10px;">
                    </form> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM