提交后保留选定的下拉列表值

时间:2011-10-20 19:54:08

标签: php mysql

提交页面后如何保留所选项目?我有国家下拉列表,其中包含以下代码。

  <?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>";        
                    }  
                ?>  

7 个答案:

答案 0 :(得分: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 :(得分: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>";       
                    }
                }  
            ?>  

答案 2 :(得分: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>";        
    }  
?> 

答案 3 :(得分: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>

答案 4 :(得分: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>";

如果是get(在URL中传递),则使用GET

答案 5 :(得分: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>";        
    }  
  ?>  

答案 6 :(得分: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>
相关问题