Поиск не работает в таблицах данных для динамических данных в codeigniter - PullRequest
0 голосов
/ 13 февраля 2019

Я очень плохо знаком с codeigniter, у меня есть две таблицы в моей базе данных, тогда "ip_companies" и "ip_clients", где я могу сохранить компании в ip_companies table, и я могу сохранить количество сотрудников в ip_clients table вместе с компанией id.Чтобы в одной компании я мог сохранить всех сотрудников в этой компании.

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

Все работает нормально, но поиск инумерация страниц не работает, когда я пытаюсь найти имя или Gmail или отдел.В inspect-->network он показывает то, что я искал, но таблица не меняется и не отображает результат, он показывает "processing..."

Может кто-нибудь помочь мне с этим.Я публикую свои файлы.

мой просмотр файл -> Form.php для таблиц контактов

<div id="clt_dt" style="display:none;">
    <div id="headerbar" >
        <h1 style="margin-top:5px">Contacts List</h1>
        <hr style="height:2px;border:none;color:#333;background-color:#333;" />
        </div>

    <div>
  <table id="mytable" class="table table-bordered table-striped table-hover" style="width:100%">
      <thead>
            <tr>
                <th>S.No</th>
                <th>Contact Name</th>
                <th>Designation</th>
                <th>Department</th>
                <th>Phone </th>
                <th>Email</th>
                <th>Actions</th>
            </tr>
        </thead>
      <tbody id="tbody_client">
          </tbody>
    </div>
</div>

мой script в view файл

function all_cmp(org_id){
    $.post( "<?php echo base_url();?>clients/get_orgID", { org_id: org_id })
         .done(function(data) {
        var obj = $.parseJSON(data);
        if(obj[0].org_name!='')
        {
            if(obj[0].org_name !=''){$('#company_id').val(obj[0].org_name);}
            if(obj[0].org_details !=''){$('#org_details').val(obj[0].org_details);}else{$('#org_details').val('');}
            if(obj[0].org_address !=''){$('#org_address').val(obj[0].org_address);}else{$('#org_address').val('');}
            if(obj[0].org_city !=''){$('#org_city').val(obj[0].org_city);}else{$('#org_city').val('');}
            if(obj[0].org_state !=''){$('#org_state').val(obj[0].org_state);}else{$('#org_state').val('');}
            if(obj[0].org_zipcode !=''){$('#org_zipcode').val(obj[0].org_zipcode);}else{$('#org_zipcode').val('');}
            if(obj[0].org_country !=''){$('#org_country').val(obj[0].org_country);}else{$('#org_country').val('');}
            if(obj[0].org_phone !=''){$('#org_phone').val(obj[0].org_phone);}else{$('#org_phone').val('');}
            if(obj[0].org_email !=''){$('#org_email').val(obj[0].org_email);}else{$('#org_email').val('');}
            if(obj[0].org_website !=''){$('#org_website').val(obj[0].org_website);}else{$('#org_website').val('');}
            if(obj[0].org_fax !=''){$('#org_fax').val(obj[0].org_fax);}else{$('#org_fax').val('');} 
            if(obj[0].org_country !=''){$('#org_country').val(obj[0].org_country);}else{$('#org_country').val('');}
           $('#ser_org').hide(); $('#clt_dt').show(); $('#new_cmp').hide();
        } else{ $('#org_details').val('');  $('#org_address').val('');  $('#org_city').val(''); $('#org_state').val(''); $('#org_zipcode').val(''); $('#org_country').val('');
                $('#org_phone').val(''); $('#org_email').val(''); $('#org_website').val(''); $('#org_fax').val('');  $('#org_country').val(''); $('#clt_dt').hide();
            $('#new_cmp').show();  
        }
  }); $('#company_idd').val(org_id);
  
  // Existed Client Display by Company ID
  if(org_id!='')
  {
      $('#mytable').DataTable( {
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "<?php echo base_url();?>clients/get_cmpidd",
            "data": function ( d ) {
                d.cmp_idd = org_id;
            }
        }
        
    } );
    
  }

  
  }

my controller -> Clients.php для получения таблиц сотрудников

public function get_cmpidd()
{
    if(isset($_REQUEST['cmp_idd']))
    {    $cmpid = $_REQUEST['cmp_idd'];
         $cmp = $this->mdl_clients->get_cmp_id($cmpid);
         $draw = intval($this->input->get("draw"));
         $start = intval($this->input->get("start"));
         $length = intval($this->input->get("length"));
         foreach($cmp->result() as $key=>$cmpdt){
              $dsg = $this->db-> query("SELECT * FROM ip_designation where id='".$cmpdt->client_designation."'"); 
              $dname = $dsg->row_array();
              $data[] = array(
              $key+1,
              $cmpdt->client_name,
              $dname['name'],
              $cmpdt->client_department,
              $cmpdt->client_phone,
              $cmpdt->client_email,
              '<a href="'.base_url().'clients/form/'.$cmpdt->company_id.'/'.$cmpdt->client_id.'"><i title="Edit" class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
               <a href="'.base_url().'clients/conremove/'.$cmpdt->client_id.'"><i title="Delete" class="fa fa-trash" aria-hidden="true"></i></a>'
           );

      }

      $output = array(
           "draw" => $draw,
             "recordsTotal" => $cmp->num_rows(),
             "recordsFiltered" => $cmp->num_rows(),
             "data" => $data
        );
      echo json_encode($output);
    }
      exit();
      ?><?php  ?> 

         <?php 



}

my modal -> Mdl_clients.php для сотрудниковстол

public function get_cmp_id($id)
{   $this->db->select('*');
    $this->db->from('ip_clients');
    $this->db->where('company_id',$id);
    $query = $this->db->get();
    return $query;//return $client;
}

1 Ответ

0 голосов
/ 13 февраля 2019

Чтобы сделать вашу жизнь проще, я предлагаю вам использовать воспламеняемую библиотеку данных.Эта библиотека использует jquery datatables, она поможет вам решить все проблемы поиска, проблема с таблицей сортировки здесь - воспламеняемая ссылка на библиотеку данных

старая версия

https://github.com/IgnitedDatatables/Ignited-Datatables

версия работает сCI 3

https://github.com/chland/Ignited-Datatables

Jquery Datatables link

https://datatables.net/

наслаждайтесь удачным кодированием.

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