使用性别、专业化和城市使用Ajax过滤器的CodeIgniter分页

使用性别、专业化和城市使用Ajax过滤器的CodeIgniter分页,ajax,codeigniter,pagination,jquery-pagination,codeigniter-pagination,Ajax,Codeigniter,Pagination,Jquery Pagination,Codeigniter Pagination,在这里,我输入医生姓名、专业或位置进行搜索,然后按“继续”进行搜索 然后我来到这里,你可以看到分页的搜索记录。这种分页很好,专业化、性别和城市过滤器也很好,但问题是 当我使用这些过滤器过滤结果时,结果显示非常准确,但分页现在根据过滤器工作。这就是我想知道的解决方法 这是我的搜索医生、专业或位置html表单 <form action="site/doctors" method="post" role="form" class="form-home"> <div class=

在这里,我输入医生姓名、专业或位置进行搜索,然后按“继续”进行搜索

然后我来到这里,你可以看到分页的搜索记录。这种分页很好,专业化、性别和城市过滤器也很好,但问题是

当我使用这些过滤器过滤结果时,结果显示非常准确,但分页现在根据过滤器工作。这就是我想知道的解决方法

这是我的搜索医生、专业或位置html表单

<form action="site/doctors" method="post" role="form" class="form-home">
<div class="form-group">
<label for="search1">Enter Your Search Criteria:</label>
<input type="text" class="form-control" name="search_doctor" id="search_doctor" placeholder="Enter Doctor's Name, Speciality or Location">
 </div>
<button type="submit" class="btn btn-success pull-right">Continue &raquo;</button>
</form><!-- /Form -->
过滤器型号

public function index($num=2,$start=0)
{
 $query = $this->input->post('search_doctor');
 $sql = "SELECT doctors.id,doctors.doctor,doctors.gender,doctors.username,doctors.contactno,doctors.email,doctors.city,doctors.address,
        doctors.country,doctors.profile,
        specialist.specialist
        from doctors_specialists_bridge
        LEFT JOIN doctori4_PakDoctors.doctors 
        ON (doctors.id = doctors_specialists_bridge.doctorid)
        LEFT JOIN doctori4_PakDoctors.specialist 
        ON (specialist.id = doctors_specialists_bridge.specialistid)
        WHERE doctors.doctor LIKE '%$query%' OR specialist.specialist LIKE '%$query%'
        LIMIT $start,$num";         
        $q = $this->db->query($sql);
        return $q->result();

}
public function doctors_filtered(){


        $gender = $_REQUEST['gender'];
        $city = $_REQUEST['city'];
        $check = isset($_REQUEST['check']);

             $sql = "SELECT doctors.id,doctors.doctor,doctors.gender,doctors.username,doctors.contactno,doctors.email,doctors.city,doctors.address,
                    doctors.country,doctors.profile,
                    specialist.specialist
                    FROM doctors_specialists_bridge
                    INNER JOIN doctori4_PakDoctors.doctors 
                    ON (doctors.id = doctors_specialists_bridge.doctorid)
                    INNER JOIN doctori4_PakDoctors.specialist 
                    ON (specialist.id = doctors_specialists_bridge.specialistid)";




                        $ddd=0;
                        if($gender!="Any" || $city!="Any" || $check!='')
                        {
                            $sql.="WHERE ";
                        }

                        if($check!=''){
                            $sql.=" ( ";
                            foreach ($_REQUEST['check'] as $value)
                                {



                                    if($ddd==1)
                                    {
                                        $sql.=" OR ";
                                    }
                                    $ddd=1;
                                    $sql.="specialist='".$value."' ";

                                }
                                $sql.=" ) ";


                        }


                        if($gender!="Any"){
                            if($ddd==1)
                            {
                                $sql.=" AND ";
                            }
                        $sql.="gender='".$gender."'";
                        $ddd=1;
                        }



                        if($city!="Any"){ 
                            if($ddd==1)
                            {
                                $sql.=" AND ";
                            }
                            $sql.="city='".$city."'"; 
                            $ddd=1;
                        } 



        $q = $this->db->query($sql);
        if($q->num_rows()>0){
                foreach($q->result() as $row){
                    $data[] = $row;
                    }//end foreach
            return $data;
            }//endif



    }
这是JQUERY/AJAX代码

<script type="text/javascript">

    $(document).ready(function () {

        $( "input[type=checkbox]" ).on( 'click', function(){




            //console.log($(this).serialize());

            //var values = $('#form1').serialize();
            var values = $('form').serialize();

            var controller = 'site';
            var base_url = '<?php echo site_url(); ?>';
            var  myurl = base_url + controller + '/doctors_filter/';


            $.ajax({
                type: "POST",
                url: myurl,
                data: values,
                complete: function (data) {
                    //alert(data.responseText);
                    $('#result').empty().html(data.responseText)
                    //console.log(data.responseText);
                }
            });


        } );


        $('#gender,#city').on('change', function () {
            //var values = $('#form1').serialize();
            var values = $('form').serialize();

            var controller = 'site';
            var base_url = '<?php echo site_url(); ?>';
            var  myurl = base_url + controller + '/doctors_filter/';

            //console.log(myurl);

            $.ajax({
                type: "POST",
                url: myurl,
                data: values,
                complete: function (data) {
                   //alert(data.responseText);
                    $('#result').empty().html(data.responseText)
                }
            });
        })
    });
</script>

$(文档).ready(函数(){
$(“输入[type=checkbox]”)。在('click',function()上{
//log($(this.serialize());
//变量值=$('#form1')。序列化();
变量值=$('form')。序列化();
变量控制器='站点';
var base_url='';
var myurl=base_url+controller+'/doctors_filter/';
$.ajax({
类型:“POST”,
url:myurl,
数据:价值观,
完成:功能(数据){
//警报(data.responseText);
$('#result').empty().html(data.responseText)
//console.log(data.responseText);
}
});
} );
$(“#性别,#城市”)。关于('change',function(){
//变量值=$('#form1')。序列化();
变量值=$('form')。序列化();
变量控制器='站点';
var base_url='';
var myurl=base_url+controller+'/doctors_filter/';
//console.log(myurl);
$.ajax({
类型:“POST”,
url:myurl,
数据:价值观,
完成:功能(数据){
//警报(data.responseText);
$('#result').empty().html(data.responseText)
}
});
})
});
谢谢

public function doctors_filtered(){


        $gender = $_REQUEST['gender'];
        $city = $_REQUEST['city'];
        $check = isset($_REQUEST['check']);

             $sql = "SELECT doctors.id,doctors.doctor,doctors.gender,doctors.username,doctors.contactno,doctors.email,doctors.city,doctors.address,
                    doctors.country,doctors.profile,
                    specialist.specialist
                    FROM doctors_specialists_bridge
                    INNER JOIN doctori4_PakDoctors.doctors 
                    ON (doctors.id = doctors_specialists_bridge.doctorid)
                    INNER JOIN doctori4_PakDoctors.specialist 
                    ON (specialist.id = doctors_specialists_bridge.specialistid)";




                        $ddd=0;
                        if($gender!="Any" || $city!="Any" || $check!='')
                        {
                            $sql.="WHERE ";
                        }

                        if($check!=''){
                            $sql.=" ( ";
                            foreach ($_REQUEST['check'] as $value)
                                {



                                    if($ddd==1)
                                    {
                                        $sql.=" OR ";
                                    }
                                    $ddd=1;
                                    $sql.="specialist='".$value."' ";

                                }
                                $sql.=" ) ";


                        }


                        if($gender!="Any"){
                            if($ddd==1)
                            {
                                $sql.=" AND ";
                            }
                        $sql.="gender='".$gender."'";
                        $ddd=1;
                        }



                        if($city!="Any"){ 
                            if($ddd==1)
                            {
                                $sql.=" AND ";
                            }
                            $sql.="city='".$city."'"; 
                            $ddd=1;
                        } 



        $q = $this->db->query($sql);
        if($q->num_rows()>0){
                foreach($q->result() as $row){
                    $data[] = $row;
                    }//end foreach
            return $data;
            }//endif



    }
<script type="text/javascript">

    $(document).ready(function () {

        $( "input[type=checkbox]" ).on( 'click', function(){




            //console.log($(this).serialize());

            //var values = $('#form1').serialize();
            var values = $('form').serialize();

            var controller = 'site';
            var base_url = '<?php echo site_url(); ?>';
            var  myurl = base_url + controller + '/doctors_filter/';


            $.ajax({
                type: "POST",
                url: myurl,
                data: values,
                complete: function (data) {
                    //alert(data.responseText);
                    $('#result').empty().html(data.responseText)
                    //console.log(data.responseText);
                }
            });


        } );


        $('#gender,#city').on('change', function () {
            //var values = $('#form1').serialize();
            var values = $('form').serialize();

            var controller = 'site';
            var base_url = '<?php echo site_url(); ?>';
            var  myurl = base_url + controller + '/doctors_filter/';

            //console.log(myurl);

            $.ajax({
                type: "POST",
                url: myurl,
                data: values,
                complete: function (data) {
                   //alert(data.responseText);
                    $('#result').empty().html(data.responseText)
                }
            });
        })
    });
</script>