Mysql запрос возвращает неправильный вывод - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть несколько классов, где у каждого класса есть уникальные id и value. Теперь, что я пытаюсь проверить, когда проверяю определенный класс, а затем семестр после вызова ajax возвращает мне неправильный запрос. Итак, как я могу решить эту проблему? Пожалуйста, помогите мне.

<script>
    $("#send_mail_sms").click(function(e){
        e.preventDefault();
        classesID = $("input[name^='classesID']:checked").map(function (idx, ele) {
                       return $(ele).val();
                    }).get();
        for(i=0;i<classesID.length;i++)
        {
            semesterOryear = $("#yearOrSemester_"+classesID[i]+":checked").map(function () {
                       return $(this).val();
                    }).get();
        }
        $.ajax({
            type:"POST",
            data:{"classesID":classesID,"semesterOryear":semesterOryear},
            url:"<?php echo base_url(); ?>notice/sms_email",
            success:function(res){
                alert(res);
            }
        });
    });
</script>

<label class="nexCheckbox"><?php echo $value->classes ?>
<input type="checkbox" name="classesID[]" onclick="select_course(this,'<?php echo $key ?>')" value="<?php echo $value->classesID ?>" id="select_all" >
<span class="checkmark checkmark-action-layout"></span>
</label>
<div class="col-sm-2">
<input type="checkbox" class="yearOrSemester yearOrSemester<?php echo $key ?>" id='yearOrSemester_<?php echo $value->classesID ?>' name="yearOrSemester<?php echo $value->classesID ?>[]" value="<?php if($value->mode==1){echo CallYears(1);}else{echo CallSemester(1);} ?>" > 1
</div>
<div class="col-sm-2">
<input type="checkbox" class="yearOrSemester yearOrSemester<?php echo $key ?>" id='yearOrSemester_<?php echo $value->classesID ?>'  name="yearOrSemester<?php echo $value->classesID ?>[]" value="<?php if($value->mode==1){echo CallYears(2);}else{echo CallSemester(2);} ?>"> 2
</div>
<div class="col-sm-2">
<input type="checkbox" class="yearOrSemester yearOrSemester<?php echo $key ?>" id='yearOrSemester_<?php echo $value->classesID ?>'  name="yearOrSemester<?php echo $value->classesID ?>[]" value="<?php if($value->mode==1){echo CallYears(3);}else{echo CallSemester(3);} ?>"> 3
</div>
<div class="col-sm-2">
<input type="checkbox" class="yearOrSemester yearOrSemester<?php echo $key ?>" id='yearOrSemester_<?php echo $value->classesID ?>'  name="yearOrSemester<?php echo $value->classesID ?>[]" value="<?php if($value->mode==1){echo CallYears(4);}else{echo CallSemester(4);} ?>"> 4
</div>
<div class="col-sm-2">
<input type="checkbox" class="yearOrSemester yearOrSemester<?php echo $key ?>" id='yearOrSemester_<?php echo $value->classesID ?>'  name="yearOrSemester<?php echo $value->classesID ?>[]" value="<?php if($value->mode==1){echo CallYears(5);}else{echo CallSemester(5);} ?>"> 5
</div>
<div class="col-sm-2">
<input type="checkbox" class="yearOrSemester yearOrSemester<?php echo $key ?>" id='yearOrSemester_<?php echo $value->classesID ?>'  name="yearOrSemester<?php echo $value->classesID ?>[]" value="<?php if($value->mode==1){echo CallYears(6);}else{echo CallSemester(6);} ?>"> 6
</div>

контроллер: уведомление

public function sms_email()
{
    $usertype = $this->session->userdata("usertype");
    if($usertype == "Admin" || $usertype == 'ClgAdmin' || $usertype == 'superadmin' || $usertype == 'Professor' || $usertype == 'Accountant') 
    {
        $classesID  = $this->input->post('classesID');
        $semesterOryear = $this->input->post('semesterOryear');
        for ($i=0; $i < count($classesID); $i++) 
        {
            $this->db->select('phone,studentID');
            $this->db->where('classesID',$classesID[$i]);
            $this->db->where('status',1);
            $this->db->where_in('yearsOrSemester',$semesterOryear);
            $object = $this->db->get('student')->result();
            echo $this->db->last_query();
        }
    }
}

неожиданный вывод

SELECT `phone`, `studentID` FROM (`student`) WHERE `classesID` = '2' AND `status` = 1 AND `yearsOrSemester` IN ('1st_Semester','2nd_Semester') 
SELECT `phone`, `studentID` FROM (`student`) WHERE `classesID` = '3' AND `status` = 1 AND `yearsOrSemester` IN ('1st_Semester', '2nd_Semester')

ожидаемый вывод

SELECT `phone`, `studentID` FROM (`student`) WHERE `classesID` = '2' AND `status` = 1 AND `yearsOrSemester` IN ('1st_Semester','2nd_Semester','3rd_Semester','4st_Semester','5th_Semester','6st_Semester') 
SELECT `phone`, `studentID` FROM (`student`) WHERE `classesID` = '3' AND `status` = 1 AND `yearsOrSemester` IN ('1st_Semester', '2nd_Semester')

image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...