从PHP中选择值的HTML选项标记

从PHP中选择值的HTML选项标记,php,html,Php,Html,你能帮我找出这个代码的错误吗 <option value="">------------ Select ------------</option> <?php while (($row = mysql_fetch_array($tech))) { ?> <option value= <?php echo $row['id'] ?> <?php echo $selectedtech

你能帮我找出这个代码的错误吗

<option value="">------------ Select ------------</option>
<?php while (($row = mysql_fetch_array($tech))) {
                            ?>
<option value= <?php echo $row['id'] ?> 
<?php echo $selectedtechname ?>
<?php echo "selected" ?>
                          >
 <?php echo $row['technician_name'] ?></option>
                    <?php } ?>
所有变量都工作正常,因为我使用了Var_dump,它们正确地回显,所以没有错误的是SQL等。我需要做的是在HTML的option标记中传递一个php语句,以便从列表中简单地选择$selectedtechname的值。要发布的值为$row['id'],但要显示的选定值应为$selectedtechname


谢谢

您可以尝试以下方法:

 $selected='';
    <option value="">Select a value</option>
    <?php
    while ($row = mysql_fetch_array($tech)) {
    ?>
       <?php
         if($selectedtechname == $row['selectedtechname'])
          {
             $selected='selected';
          }
          else
          {
            $selected='';
          }
        ?>
    <option value="<?php echo $row['id']?>" <?php echo $selected;?> ><?php echo $row['value_to_display'];?></option>

    <?php
    }
    ?>
我看到一个类似的帖子


看起来您缺少while循环的结束方括号。应该选择什么选项?您如何知道OP的数据库字段名为$row['selectedtechname']的可能重复项?假设是这样。BCOZ他没有提到它。然后考虑使用if行[ [ ID ] ]=$Sead TeaTeMeA{可能的OP需要。如果$Sead TeaTeaMe==$ROW(‘SealDead TeaMe'’),我会留下来,因为这似乎是最合乎逻辑的,给出OPS代码。可能是…@ OP。我不知道$CuxdTealTeAm什么匹配,然后在行中使用对应。['your_correlative_field']我认为OP需要$row['technology_name']==$selectedtechname
while($row = mysql_fetch_assoc($result)) {
   if ($row['technician_name'] == $selectedtechname) {
       echo '<option   value=\"'.$row['id'].'" selected>'.$row['id'].'</option>';
   } else {
       echo '<option   value=\"'.$row['id'].'">'.$row['id'].'</option>';
   }
}