【问题标题】:PHP Date and time Select BoxesPHP 日期和时间选择框
【发布时间】:2013-07-18 01:03:55
【问题描述】:

我正在填充三个选择框给我 3 个选择框,包含日、月、时间。我正在使用这个当前代码来填充每个选项:

<select name="<?php echo $select2; ?>">
<?php 
$months = array(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
foreach ($months as &$value)
{
echo '<option value="'.$value.'">'.$value.'</option>';
}
?>
</select>

然后我将选定的结果转换为单个变量。它以 DD-MM-YY 格式存储在数据库中。如何从数据库中提取这些信息,并使选择框默认为从数据库中提取的信息?

谢谢大家

安迪·琼斯

【问题讨论】:

    标签: php date select option


    【解决方案1】:
    <select name="<?php echo $select2; ?>">
    <?php 
    $months = array(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
    foreach ($months as $i => $value){
        if($i+1==abs($db_value)){
            echo '<option selected="selected" value="'.$value.'">'.$value.'</option>';
        }else{
            echo '<option value="'.$value.'">'.$value.'</option>';
        }
    }
    ?>
    </select>
    

    【讨论】:

      【解决方案2】:

      您可以使用explode 方法分解DD-MM-YY 字符串。例如:

      $pieces = explode("-", $date);
      

      这应该给你一个包含 3 个元素的数组,如下所示:

      Array(
        0 => "DD", // Days
        1 => "MM", // Months
        2 => "YY"  // Years
      )
      

      现在也许可以像以前一样循环浏览日期。如果它们匹配,则为该选项添加checked 属性。

      foreach ($months as $value)
      {
        if($value == $pieces[1]) // $pieces[1] is the months element as you'll notice above
          echo '<option value="'.$value.'" checked>'.$value.'</option>';
        else
          echo '<option value="'.$value.'" checked>'.$value.'</option>';
      }
      

      你的问题有点含糊,但这样的事情可能会奏效。

      【讨论】:

      • 谢谢大家!这并不是要含糊其辞-我在提问时显然是垃圾!
      猜你喜欢
      • 2021-08-11
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      相关资源
      最近更新 更多