首页 > 解决方案 > 使用 For 循环从数据库中选择下拉框中的正确值

问题描述

我有几个用于日和年输入的下拉框。这些值是在注册期间获取的,因此此下拉列表用于更新目的。我想使用存储在数据库中的正确值预填充两个下拉列表。下拉列表中的值使用 for 循环填充,提交表单时应提交新的更新值。

这是我的两个下拉列表和从数据库中检索日期和年份的 PHP 代码:

        <?php
           $dateOfBirth = explode("/", $users[0]['date_of_birth']);
           $day = $dateOfBirth[0];
            $month = $dateOfBirth[1];
            $year = $dateOfBirth[2];

          ?>

   <div class="form-group col-md-3">
         <select id="day" name="day" class="form-control" required>
         <?php for( $i=1; $i <=31; $i++) { ?>
         <option  value="<?php echo $i; ?>"><?php echo $i; ?></option>
         <?php } ?>
         </select>
   </div>

   <div class="form-group col-md-3">
         <select id="year" name="year" class="form-control" required>
          <?php for( $i=1940; $i <=  date("Y") -18; $i++) { ?>
          <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
           <?php } ?>
            </select>
   </div>

任何帮助表示赞赏!

标签: phpcodeigniter

解决方案


您没有使用循环数据检查值从这段代码中学习

    <?php
           $dateOfBirth = explode("/", $users[0]['date_of_birth']);
           $day = $dateOfBirth[0];
            $month = $dateOfBirth[1];
            $year = $dateOfBirth[2];
          ?>
   <div class="form-group col-md-3">
         <select id="day" name="day" class="form-control" required>
         <?php for( $i=1; $i <=31; $i++) { 
         $selected_day = ($day == $i)?'selected="selected"':''; // Check the CODE here 
         ?>
         <option  value="<?php echo $i; ?>" <?=$selected_day; ?> ><?php echo $i; ?> 
        </option>
         <?php } ?>
         </select>
   </div>
   <div class="form-group col-md-3">
         <select id="year" name="year" class="form-control" required>
          <?php for( $i=1940; $i <=  date("Y") -18; $i++) { 
                $selected_year = ($year == $i)?'selected="selected"':'';  // Check the CODE here 
          ?>
          <option value="<?php echo $i; ?>" <?=$selected_year ?> ><?php echo $i; ?></option>
           <?php } ?>
            </select>
   </div>

推荐阅读