我正在填充三个选择框,为我提供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
答案 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>';
}
你的问题有点模糊,但这样的事情可行。