php-基于浏览器链接中的参数自动选择下拉菜单

php-基于浏览器链接中的参数自动选择下拉菜单,php,drop-down-menu,Php,Drop Down Menu,如果在浏览器中,我有如下参数: http://localhost/specials.php?year=2009&make=honda&model=civic 下拉列表如下所示: <select name="year"> <?php $query = mysql_query("select distinct year from tbl_content where year = '$year'"); while($row = mysql_fetch_assoc($

如果在浏览器中,我有如下参数:

http://localhost/specials.php?year=2009&make=honda&model=civic
下拉列表如下所示:

<select name="year">
<?php
$query = mysql_query("select distinct year from tbl_content where year = '$year'");
while($row = mysql_fetch_assoc($query)) {

echo "<option value=\"{$row['year']}\">{$row['year']}</option>";
}
?>
</select>

可能尝试
“selected='selected'”
使其成为有效的xml。


<select name="year">
<?php

$selectedYear = NULL;

if(isset($_GET['year']))
    $selectedYear = (int)$_GET['year'];

$query = mysql_query('SELECT year FROM tbl_year GROUP BY year ORDER BY year ASC');

while($row = mysql_fetch_assoc($query)) {
    echo '<option value="' . htmlspecialchars($row['year']) . '"';

    if($selectedYear === (int)$row['year']) {
         echo ' selected="selected"';
    }

    echo '>' . htmlspecialchars($row['year']) . '</option>";
}

?>
</select>

自由分离功能

<?php
function selectList($name,$values,$labels=null,$selected=null){
if($labels==null) $labels=&$values;
    $data="<select name='$name'>";
    foreach($values as $k=>$v){
        $selected=($v==$selected)?'selected="selected"':false;
        $data.="<option value='$v' $selected>".htmlspecialchars($labels[$k])."</option>";
        }
        $data.="</select>";
        return $data;
}

$select=isset($_REQUEST['year'])?(int) $_REQUEST['year']:null;
$query=mysql_query("SELECT DISTINCT `year` FROM `tbl_year` ORDER BY `year`");
while(($row=mysql_fetch_assoc($query))!==false){
    $values[]=$row['year'];
    }
echo selectList("year",$values,null,$select);
?>

第二段代码select year 200820092010输出的html是什么?如果它只在一个文件中输出html,那么可能是其他东西把它弄糟了
<?php
function selectList($name,$values,$labels=null,$selected=null){
if($labels==null) $labels=&$values;
    $data="<select name='$name'>";
    foreach($values as $k=>$v){
        $selected=($v==$selected)?'selected="selected"':false;
        $data.="<option value='$v' $selected>".htmlspecialchars($labels[$k])."</option>";
        }
        $data.="</select>";
        return $data;
}

$select=isset($_REQUEST['year'])?(int) $_REQUEST['year']:null;
$query=mysql_query("SELECT DISTINCT `year` FROM `tbl_year` ORDER BY `year`");
while(($row=mysql_fetch_assoc($query))!==false){
    $values[]=$row['year'];
    }
echo selectList("year",$values,null,$select);
?>