使用 mysql 数据填充选择输入字段


Populating the select input field with mysql data

我创建了一个主下拉列表,使用 jquery 我可以选择要显示的下拉菜单数量。通过for循环非常简单地完成。用于选择要显示多少下拉列表的主下拉列表是静态填充的,我正在尝试使用 mysql 数据库中的数据动态填充正在显示的下拉列表。在 php 端,我使用 while 循环来填充每个选择框。我没有显示任何结果。网站

<script type="text/javascript">
    $(document).ready(function () {
    $('select').change(function() {
    var option = $(this).val();
    showFields(option);
    return false;
        });

        function showFields(option){ 
            var content = '';
            for (var i = 1; i <= option; i++){
                content += '<div id="course_'+i+'"><label>Course # '+i+'</label><br /><label>Course Name:</label> <select id="coursename_'+i+'"><option value="">--- Select ---</option>"'
                        <?php

                           $mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
                           if (mysqli_connect_errno()) {
                                printf("Connect failed: %s'n", mysqli_connect_error());
                                exit();
                            } 
                            $course_query = "SELECT course_id, course_name FROM course ";
                                    if($result = mysqli_query($mysqli, $course_query)) {
                                        while ($idresult = mysqli_fetch_row($result))
                                        {
                                            $course_id = $idresult[0];
                                            $course_name = $idresult[1];
                                            echo'<option value="' . $course_id . '">' . $course_name . '</option>';
                                        }
                                    }
                        ?>
                '"';                   
                content += '</select><br /><div><br />';
            }
            $('#course_catalog').html(content);
        }
    });
</script>

你需要回显一个 JavaScript 行才能开始,而不是直接回显......

echo 'content += ''<option value="' . $course_id . '">' . $course_name . '</option>'';';