如何使select
标记显示mysql表中的值,但仍然有下面的其他选项。
<select id="slct" name="psl" class="select" value="' . $row['pslAtOffice'] . '">
<option value="Yes" >Yes</option>
<option value="No" >No</option>
</select>
我想首先从mysql表中看到所选的值,而不是第一个选项。
答案 0 :(得分:1)
我认为你正在寻找这个:
<select id="slct" name="psl" class="select">
<option value="<?php echo $row['pslAtOffice']; ?>" selected><?php echo $row['pslAtOffice']; ?></option>
<option value="Yes" >Yes</option>
<option value="No" >No</option>
</select>
感谢@BalázsVarga提醒我“选中”
编辑:您提到整个块都在回声中,所以我猜它应该是这样的:
echo '<select id="slct" name="psl" class="select">
<option value="' . $row['pslAtOffice'] . '" selected>' . $row['pslAtOffice'] . '</option>
<option value="Yes" >Yes</option>
<option value="No" >No</option>
</select>';
答案 1 :(得分:0)
您需要将选定的标签添加到选项中,而不是选择的值。在您的情况下,这可能会很好:
<select id="slct" name="psl" class="select">
<?php if($row['pslAtOffice'] != 'Yes' && $row['pslAtOffice'] != 'No') { ?>
<!-- This is only visible (and selected) if it's not Yes or No --->
<option value="<?php echo $row['pslAtOffice'] ?>" selected ><?php echo $row['pslAtOffice'] ?></option>
<?php } ?>
<option value="Yes" <?php if($row['pslAtOffice'] == 'Yes') { echo 'selected'; } ?> >Yes</option>
<option value="No" <?php if($row['pslAtOffice'] == 'No') { echo 'selected'; } ?>>No</option>
</select>
如果您愿意,也可以做简写:
<?php echo ($row['pslAtOffice'] == 'Yes') ? 'selected' : '' ?>
编辑: 如果整个代码都包含在echo中,则必须使用简写语句。 看看这个解决方案:
<?php
$row['pslAtOffice'] = 'Something';
echo '<select id="slct" name="psl" class="select">' . (($row['pslAtOffice'] != 'Yes' && $row['pslAtOffice'] != 'No') ? '<option value="' . $row['pslAtOffice'] . '" selected >' . $row['pslAtOffice'] . '</option>' : '') . '<option value="Yes"' . (($row['pslAtOffice'] == 'Yes') ? 'selected' : '') . '>Yes</option><option value="No"' . (($row['pslAtOffice'] == 'No') ? 'selected' : '') . '>No</option></select>';
$row['pslAtOffice'] = 'No';
echo '<select id="slct" name="psl" class="select">' . (($row['pslAtOffice'] != 'Yes' && $row['pslAtOffice'] != 'No') ? '<option value="' . $row['pslAtOffice'] . '" selected >' . $row['pslAtOffice'] . '</option>' : '') . '<option value="Yes"' . (($row['pslAtOffice'] == 'Yes') ? 'selected' : '') . '>Yes</option><option value="No"' . (($row['pslAtOffice'] == 'No') ? 'selected' : '') . '>No</option></select>';
答案 2 :(得分:0)
您需要将数据库变量(即$row['pslAtOffice'
])添加到第一个选项中,而不是添加到select属性iteself中。
请查看以下代码以了解更多详情。
<select id="slct" name="psl" class="select">
<option value="<?php echo $row['pslAtOffice']; ?>" selected><?php echo $row['pslAtOffice']; ?></option>
<option value="Yes" >Yes</option>
<option value="No" >No</option>
</select>