dongqiao6445 2013-01-03 06:45
浏览 84
已采纳

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

I want to have a drop-down list have a default value akin to how you would have value="abc" in a text field or similar. The only caveat is that I would like it to be defaulted to where an SQL query points it to. Excuse the long code.

//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

For the first half, I have a text field of default value $var["author"], because that is what I query before beforehand. For the second, I can't seem to get the same result, due to it being a drop-down menu instead of a text field. If the .sql query brings up "NM", the default value will be "M", always. Any way to do this?

  • 写回答

1条回答 默认 最新

  • doubiaozhan0745 2013-01-03 06:48
    关注

    What you want is this:

    //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
    

    or more elegant:

    $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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?