如何在多选表单上回显数据库中多选的选定值

时间:2017-08-29 11:37:58

标签: php mysql

我有一个使用multiselect的注册表单,根据选择在值1,2,3,4,5,6,7中插入选项

但是,插入后我想提供一个用于编辑用户编辑的选项

我希望预先选择数据库中已选择的值,同时将其他选项循环为未选中

我遇到了身份不明的偏移3,身份不明的偏移3 ........

<div class="form-group">
              <label for="touch-spin-1">Course Days</label>
             <select multiple="multiple" name="coursedays[]" style="width: 100%;" data-toggle="select2" data-placeholder="<?php //echo $course_days; ?>" data-allow-clear="true" >
                 <?php                   
                                                                             $entities  = "1,2,3,4,5,6,7";                                             $entity = explode(",",$entities);                                           $servs = explode("," , $course_days);                                                        $arr_length = count($entity);                                                      for($i=0;$i<=$arr_length;$i++){ 
              ?>
                <option <?php if (in_array($servs, $entity)) { echo "selected";} ?>  value="<?php echo $servs[$i]; ?>"> <?php echo $servs[$i]; ?></option>
                   <?php } ?></select></div>

1 个答案:

答案 0 :(得分:0)

以这种方式尝试

<?php
            $course_days = "2,3,4";
            $entities = "1,2,3,4,5,6,7";

            $entity = explode(",", $entities);
            $servs = explode(",", $course_days);

            foreach($entity as $en) {
                ?>
            <option value="<?php echo $en; ?>" <?php echo (in_array($en, $servs)) ? 'selected' : ''; ?>>
                <?php echo $en; ?>
            </option>
            <?php } ?>