Как я могу получить данные после выбора из выпадающего списка с php ajax - PullRequest
1 голос
/ 09 ноября 2019

Это мой выбранный код, здесь я составил таблицу teacher_subject, где class_id и section_id хранятся для учителя, который сделает результат.

Например: преподаватель 2 класса по предмету B по математике. Таблица базы данных предмета учителя представляет собой идентификатор класса, раздела и предмета.

Теперь я создал три разные таблицы для класса, раздела и темы.

Итак, мой код работает с таблицей teacher_subject, который извлекает данные определенного teacher(t_id) иидентификатор класса находится в $ class, а имя класса находится в echo $ row_clse ['t_class']; (как класс 1,2, ....)

<select class="form-control form-control-sm mr-2" name="class" id="class" onChange="getsection(this.value);">
    <option value="">Select</option>
    <?php  
    $sql_cls="select * from $tb_teacher_subject where school_id='$school_id' and t_id='$sessid' and status='active'";
    $res_cls = mysqli_query($conn,$sql_cls);
    if($res_cls){
        if($nums_cls=mysqli_num_rows($res_cls) > 0){
            while($rows_cls = mysqli_fetch_assoc($res_cls)){ 
                $class = $rows_cls['t_class_id'];

    ?>
                <option value="<?php echo $rows_cls['t_class_id']; ?>,<?php echo $rows_cls['id']; ?>">
                <?php
                $sql_clse = "select * from $tb_class where school_id='$school_id' and id='$class'";
                $res_clse = mysqli_query($conn,$sql_clse);
                if($res_clse){
                    while($rows_clse = mysqli_fetch_assoc($res_clse)){
                        echo $rows_clse['t_class'];
                    }
                }  
                ?>
                </option>
    <?php 

            }
        }
    }


    ?>
    </select>
    <select name="section" id="section-list" class="form-control form-control-sm mr-2">
        <option value="">Select</option>

мой код сценария:

function getsection(val){
    var str = val;
    var ddata = str.split(",");
    var class_id = ddata[0];
    var id = ddata[1];
    $.ajax({
        //the url to send the data to
        url: "model/results/result_edit.php?getsection",
        //the data to send to
        // data: 'class_id='+val,
        data: {class_id : class_id, id: id},

        //type. for eg: GET, POST
        type: "POST",
        //on success
        success: function(data){
            console.log("***********success***************");
            console.log(data);
            $("#section-list").html(data);

        },
        //on error
        error: function(){
             console.log("***********Error***************"); //You can remove here
             console.log(data); //You can remove here
        }
    });
    //console.log($id);
}

и код php:

<?php 
    // Select all Data **********************/
    if(isset($_GET['getsection'])){
        $cls = $_POST['class_id'];
        $id = $_POST['id'];
        $sql_section = "select * from $tb_teacher_subject where t_class='$cls' and id='$id'";
        $res_section = mysqli_query($conn,$sql_section);
        if($res_section){
            while($row_sec = mysqli_fetch_assoc($res_section)){ 
                $sec = $row_sec['t_section'];
?>
                <option value="<?php echo $row_sec['t_section'] ?>"> 
                <?php
                $sql_clse = "select * from $tb_section where school_id='$school_id' and id='$sec'";
                $res_clse = mysqli_query($conn,$sql_clse);
                if($res_clse){
                    while($rows_clse = mysqli_fetch_assoc($res_clse)){
                        echo $rows_clse['t_section'];
                    }

                }  ?>
                </option>                
<?php
            }
        }
    }
?>

Теперь, что мне нужно, если щелкнуть по классу 1, он покажет раздел A иB как учитель класса 1 преподает в двух секциях A & B, но моя проблема в том, что при нажатии на опцию «выбрать» класса, он показывает 1, 2, 1 означает, что он показывает класс 1, класс 2, класс 1, и когда я нажимаю напервый класс (class1), затем он показывает A, а когда я нажимаю на третий, он показывает B. Так что кто-нибудь может мне помочь с моими кодами.

Было бы очень полезно, если бы вы помогли мне, если мои слова сбивают с толку, тогда вы можете проверить мою таблицу базы данных. Я вставляю ее фотографию. таблица классов , таблица секций , таблица учителя_субъекта . Пожалуйста, помогите мне с отображением кодов

...