如何制作<option selected="selected">
由 MySQL 和 PHP 设置?
我的代码:
echo '<select>';
$tempholder = array();
$rs = mysql_query("SELECT * FROM id ORDER BY year");
$nr = mysql_num_rows($rs);
for ($i=0; $i<$nr; $i++){
$r = mysql_fetch_array($rs);
//if($year==$r["year"]){ $selected=' selected="selected"'; }//doesn't work so
if (!in_array($r['year'], $tempholder)){
$tempholder[$i] = $r['year'];
echo "<option>".$r["year"]."</option>";//<option$selected>...
}
}
unset($tempholder);
echo '</select>';
最佳答案
试试这个:
echo '<select>';
$tempholder = array();
$rs = mysql_query("SELECT * FROM id ORDER BY year");
$nr = mysql_num_rows($rs);
for ($i=0; $i<$nr; $i++){
$r = mysql_fetch_array($rs);
if (!in_array($r['year'], $tempholder)){
$tempholder[$i] = $r['year'];
echo "<option".(($year==$r["year"])? ' selected="selected"' : '').">".$r["year"]."</option>";
}
}
unset($tempholder);
echo '</select>';
它不会将状态保存在您必须覆盖的变量中。
我认为真正的错误是 $year=$r["year"] 中的单个等号,而不是代码的其余部分。
关于php - 如何使 <option selected ="selected"> 由 MySQL 和 PHP 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2969762/