php - otomatik seçim menü açılır tarayıcı bağlantı parametrelerine dayalı

2 Cevap php

: Tarayıcıda ben gibi parametreleri varsa

http://localhost/specials.php?year=2009&make=honda&model=civic

ve açılan şöyle:

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


Şimdi ne yapmak çalışıyorum açılan seçenekler değeri tarayıcı URL parametre yıla eşit olduğunda gösteri seçmektir.

Ben bu çalıştı:

<select name="year">
<?php
$query = mysql_query("select * from tbl_year
while($row = mysql_fetch_assoc($query)) {

#=============================
if(isset($_GET['year'])) {

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


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

2 Cevap

belki geçerli xml yapmak için "selected = 'seçilen' deneyin"

Ayrı işlevselliği için ücretsiz düştü!

<?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);
?>