根据来自动态 select 框的 $_GET 值回显选择

Echo Selected base on $_GET value from a dynamic select box

我想将 select 框作为 GET 变量的 selected 值。 这是我的代码:

<select name="suraNo" id="suraNo" required="required">
  <option value="">-Select-</option>
    <?php
      do {  
        ?>
          <option value="<?php echo $row_SuraList['suraNo']?>">
            <?php echo $row_SuraList['suraNo']?>. <?php echo $row_SuraList['suraNameBN']?>
          </option>

          <?php
         } while ($row_SuraList = mysql_fetch_assoc($SuraList));

         $rows = mysql_num_rows($SuraList);
         if($rows > 0) {
           mysql_data_seek($SuraList, 0);
           $row_SuraList = mysql_fetch_assoc($SuraList);
         }
    ?>
</select> 

如果您想要 select 列表中与您的 GET 参数相对应的值,只需使用:

<option <?php echo ($_GET['yourval'] == $row_SuraList['suraNo'] ? "selected" : null); ?> value="<?php echo $row_SuraList['suraNo']?>"><?php echo $row_SuraList['suraNo']?>. <?php echo $row_SuraList['suraNameBN']?></option>

另外,我建议你不要在你的 do...while 中关闭你的 php 应答器,然后这样写你的 "options":

echo "<option " . ($_GET['yourval'] == $row_SuraList['suraNo'] ? "selected" : null) . " value=\"" . $row_SuraList['suraNo'] . "\">" . $row_SuraList['suraNo'] . "." . $row_SuraList['suraNameBN'] ."</option>";