【发布时间】:2019-02-13 07:22:59
【问题描述】:
我对 codeigniter 很陌生,我的数据库中有两个表,然后是 "ip_companies" 和 "ip_clients",我可以在其中保存 ip_companies table 中的公司,我可以保存 ip_clients table 中的员工数量以及公司 @987654325 @。这样我就可以拯救一家公司的所有员工。
当我在表单中选择现有公司时,该公司的字段详细信息应自动填写,其员工列表应显示在该表单下。我正在使用数据表来显示员工表,并且我正在动态地将数据获取到表中,因为我必须根据我在表单中选择的现有公司获取员工列表。
一切正常,但当我尝试搜索姓名、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>
我在view 文件中的script
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;
}
}
} );
}
}
我的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
}
我的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;
}
【问题讨论】:
标签: codeigniter search datatables