从下拉列表中的SQL查询中选择的默认选项

时间:2013-01-03 06:45:07

标签: php html sql

我希望下拉列表的默认值类似于文本字段中的value="abc"或类似内容。唯一需要注意的是,我希望它默认为SQL查询指向的位置。请原谅长代码。

//prior code where table and `foreach()` loop begins
                        <td>
                            <input type="text"
                                value="<?php echo $var["author"]; ?>"
                                required="required">
                            </input>
                        </td>
                        <td>
                            <select name="condition"
                                value="<?php echo $var["condition"]; ?>"
                                    <option>M</option>
                                    <option>NM</option>
                                    <option>E</option>
                                    <option>G</option>
                                    <option>P</option>
                            </select>
                        </td>
//subsequent code where table is closed

对于上半部分,我有一个默认值$var["author"]的文本字段,因为这是我事先查询过的。对于第二个,我似乎无法得到相同的结果,因为它是一个下拉菜单而不是文本字段。如果.sql查询显示“NM”,则默认值将始终为“M”。有什么办法吗?

1 个答案:

答案 0 :(得分:2)

你想要的是这个:

//prior code where table and `foreach()` loop begins
                        <td>
                            <input type="text"
                                value="<?php echo $var["author"]; ?>"
                                required="required">
                            </input>
                        </td>
                        <td>
                            <select name="condition">
                                    <option value="M"<?php echo ($var["condition"] == 'M' ? ' selected="selected"' : ''); ?>>M</option>
                                    <option value="NM"<?php echo ($var["condition"] == 'NM' ? ' selected="selected"' : ''); ?>NM</option>
                                    <option value="E"<?php echo ($var["condition"] == 'E' ? ' selected="selected"' : ''); ?>E</option>
                                    <option value="G"<?php echo ($var["condition"] == 'G' ? ' selected="selected"' : ''); ?>G</option>
                                    <option value="P"<?php echo ($var["condition"] == 'P' ? ' selected="selected"' : ''); ?>P</option>
                            </select>
                        </td>
//subsequent code where table is closed

或更优雅:

$dropdownOptions = array('N', 'NM', 'E', 'G', 'P');
//prior code where table and `foreach()` loop begins
                        <td>
                            <input type="text"
                                value="<?php echo $var["author"]; ?>"
                                required="required">
                            </input>
                        </td>
                        <td>
                            <select name="condition">
                                    <?php foreach ($dropdownOptions AS $option) {
                                         echo '<option value="' . $option . '"' . ($var["condition"] == $option ? ' selected="selected"' : '') . '>' . $option . '</option>';
                                    } ?>
                            </select>
                        </td>
//subsequent code where table is closed