PHP日期和时间选择框

时间:2013-07-18 21:33:01

标签: php date select option

我正在填充三个选择框,为我提供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格式存储在DB中。如何从数据库中提取此信息,并将选择框默认为从数据库中提取的内容?

谢谢你们

Andy Jones

2 个答案:

答案 0 :(得分:0)

<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>

答案 1 :(得分:0)

您可以使用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>';
}

你的问题有点模糊,但这样的事情可行。