从显示已选择的数据库选项中选择填充列表

时间:2012-12-07 17:30:38

标签: php select options

我正在为我的状态使用表格,并且我有时间使返回值与DB中已经记录的匹配 我使用以下内容填充选项列表:

              <label class="label" for="state"><em>State</em></label>
          <select class="select" maxlength="30" id="" name="state" ><option>
              <?php 
              $options = "";
               while ($row = mysql_fetch_array($resultstate))
                        {
                        $name=$row["name"];
                        $abbrev=$row["abbrev"]; 
                        $options.="<OPTION VALUE=\"$abbrev\">".$name;
                        } 
              echo $options;


             </option></select></div>

我如何遍历状态数组,或者只是将数据库中的状态标记为已选中? 我可以分开做,但不能一起......

非常感谢任何帮助

进行一些调整:

      while ($row = mysql_fetch_array($resultstate))
                        {
                            $name = $row["name"];
                            $abbrev = $row["abbrev"]; 
                                if($state == $abbrev){
                                    echo '<OPTION VALUE="'.$abbrev.'" selected="selected">'. $name.' </OPTION>';
                                    } else {
                            echo ' <OPTION VALUE="'.$abbrev.'"> '.$name.' </OPTION>';
                                    }

                        }

正确工作,谢谢你指点我正确的方向

1 个答案:

答案 0 :(得分:1)

如果输出是问题...我不太关注你遇到的问题?

<label class="label" for="state"><em>State</em></label>
      <select class="select" maxlength="30" id="" name="state" ><option>
          <?php 
          $options = "";
           while ($row = mysql_fetch_array($resultstate))
                    {
                    $name=$row["name"];
                    $abbrev=$row["abbrev"]; 
                    $options.="<OPTION VALUE=\"$abbrev\";
                    if($somevaluefromDb==$name){echo 'selected="selected"';}
                     echo ">".$name."</OPTION>";
                    } 
          echo $options;


         </select></div>