2011-10-20 157 views
2

我在提交页面后如何保留所选项目?我有以下代码的国家下拉列表。提交后保留所选下拉值

<?php 
        $SQL = "SELECT countr_id, country_name FROM countries"; 
        $Result = mysql_query($SQL) or die(mysql_error()); 
       ?> 
       <select name="country" style="width:400px"> <option value='-1'></option>   
       <?php 
        while($row = mysql_fetch_array($Result)) 
        {  
         echo "<option value=\"".$row["country_id"]."\">".$row["country_name"]."</option>";   
        } 
       ?> 
+0

OMG lol ANSWER OVERLOAD –

+0

什么是您的select元素的名称,您是否正在张贴或获取您的方法? –

回答

2
<?php 
     $SQL = "SELECT countr_id, country_name FROM countries"; 
     $Result = mysql_query($SQL) or die(mysql_error()); 
    ?> 
    <select name="country" style="width:400px"> <option value='-1'></option>   
    <?php 
     while($row = mysql_fetch_array($Result)) 
     {  
       echo "<option value=\"".$row["country_id"]."\""; 
       if($_POST['country'] == $row['country_id']) 
        echo 'selected'; 
       echo ">".$row["country_name"]."</option>";   
     } 
    ?> 
1
  <?php 
       while($row = mysql_fetch_array($Result)) 
       { 
        if ($_POST['country'] == $row["country_id"]) { 

         echo "<option value=\"".$row["country_id"]."\" selected="selected">".$row["country_name"]."</option>"; 
        } else { 
         echo "<option value=\"".$row["country_id"]."\">".$row["country_name"]."</option>";  
        } 
       } 
      ?> 
1
<?php 
    $SQL = "SELECT countr_id, country_name FROM countries"; 
    $Result = mysql_query($SQL) or die(mysql_error()); 
?> 
<select name="country" style="width:400px"> <option value='-1'></option>   
<?php 
    while($row = mysql_fetch_array($Result)) 
    {  
     echo "<option "; 
     if($_REQUEST['country'] == $row["country_id"]) echo 'selected="selected" '; 
     echo "value=\"".$row["country_id"]."\">".$row["country_name"]."</option>";   
    } 
?> 
1

此代码依赖,如果你想保留值提交回原来的页面之后。

<?php 
    $SQL = "SELECT countr_id, country_name FROM countries"; 
    $Result = mysql_query($SQL) or die(mysql_error()); 
?> 
    <select name="country" style="width:400px">  
     <option value='-1'></option>   
<?php 
    while($row = mysql_fetch_array($Result)) 
    {  
     echo "<option "; 
     if($_REQUEST["yourSelectName"] ==$row["country_id"]) 
     echo ' selected = "selected" '; 
     echo " value=\"".$row["country_id"]."\">".$row["country_name"]."</option>";   
    } 
?> 
    </select> 
0

或者你也可以做到这一切内嵌...更少的代码,并不需要所有的if/then/else语句的东西

变化

echo "<option value=\"".$row["country_id"]."\">".$row["country_name"]."</option>"; 

echo "<option ". (($_POST['country'] == $row["country_id"]) ? 'selected ' : '') ."value=\"".$row["country_id"]."\">".$row["country_name"]."</option>"; 

如果得到(通过URL),使用GET

0
<?php 
     $selectedid = 5; //example of selected if before submitting 
     $SQL = "SELECT countr_id, country_name FROM countries"; 
     $Result = mysql_query($SQL) or die(mysql_error()); 
    ?> 
    <select name="country" style="width:400px"> <option value='-1'></option>   
    <?php 
    while($row = mysql_fetch_array($Result)) 
    {  
    echo "<option value=\"".$row["country_id"]." ".(($selected==$row["country_id"])?"SELECTED":"")."\">".$row["country_name"]."</option>";   
    } 
    ?> 
0
//assume you have $result = array(your result list); 
<select name='question'> 
<?php 
foreach ($result as $question) { 
    if ($_POST['question'] == $question) { 
     $selected = "selected"; 
    } else { 
     $selected = ''; 
    } 
    echo "<option value='" . $question . "' $selected>$question</option>"; 
} 
?> 
</select>