-2

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

多谢你们

安迪·琼斯

4

2 回答 2

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>
于 2013-07-18T21:38:31.800 回答
0

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

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

于 2013-07-18T21:40:14.177 回答