일부 필터 옵션과 페이지 매김을 사용하여 데이터 테이블을 만들려고합니다. (또한 나중에 정렬 열을 추가하려는 경우).CodeIgniter : 필터 행이있는 페이지 매김
페이지 1에서 데이터를 필터링하려고하면 정상적으로 작동합니다. 그러나 나는 다른 페이지/s의 오전과 데이터를 필터링 할 때이
public function employees()
{
$this->data['title'] = '<i class="fa fa-users"></i> ' . lang('emp_all');
$config = array();
$config['base_url'] = base_url() . 'admin/hr/employees';
$config['total_rows'] = $this->employees_model->row_count();
$config['per_page'] = 10;
$config['uri_segment'] = 4;
$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$this->data['results'] = $this->employees_model->fetch_rows($config['per_page'], $page);
$this->data['links'] = $this->pagination->create_links();
$this->load->view('hr/employees/index', $this->data);
}
보기
public function fetch_rows($limit, $start)
{
$emp_id = $this->input->post('emp_id');
$this->db->like('employee_id',$emp_id);
$emp_fname = $this->input->post('emp_fname');
$this->db->like('first_name',$emp_fname);
$emp_login = $this->input->post('emp_login');
$this->db->like('login_id',$emp_login);
$emp_position = $this->input->post('emp_position');
$this->db->like('position',$emp_position);
$this->db->limit($limit, $start);
$query = $this->db->get($this->_table_name);
var_dump($query);
if ($query->num_rows() > 0) {
foreach ($query->result() as $row)
{
$data[] = $row;
}
return $data;
}
return FALSE;
}
컨트롤러에게 invalid argument supplied for foreach()
모델에게 오류를
을주는 것보다<div class="form-group">
<div class="row">
<?= form_open(); ?>
<div class="col-xs-1">
<?= form_input(array('name' => 'emp_id', 'id' => 'emp_id', 'class' => 'form-control', 'placeholder' => 'Employee ID')); ?>
</div>
<div class="col-xs-2">
<?= form_input(array('name' => 'emp_fname', 'id' => 'emp_fname', 'class' => 'form-control', 'placeholder' => 'First Name')); ?>
</div>
<div class="col-xs-1">
<?= form_input(array('name' => 'emp_login', 'id' => 'emp_login', 'class' => 'form-control', 'placeholder' => 'Login Id')); ?>
</div>
<div class="col-xs-2">
<?= get_positions('dropdown', 'emp_position'); ?>
</div>
<div class="col-xs-1">
<?= form_submit('filters', 'Go', 'class="btn-default btn"'); ?>
</div>
<div class="col-xs-2">
</div>
<?= form_close(); ?>
</div>
</div><!-- End filter form -->
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered datatables" id="">
<thead>
<tr class="active">
<?= is_system_admin() ? '<th class="center">ID<span>*</span></th>' : NULL; ?>
<th>Photo</th>
<th>Employee ID</th>
<th>Name</th>
<th>Position</th>
<th>Login ID</th>
<th>Email</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php
if (count($results) > 0): foreach ($results as $data):
echo '<tr>';
echo is_system_admin() ? '<td class="center">' . $data->id . '</td>' : NULL;
echo '<td><img src="' . get_employee_snap($data->employee_id, $data->employee_snap) . '" alt="snap" width="64"/></td>';
echo '<td>' . $data->employee_id . '</td>';
echo '<td>' . $data->first_name . ' ' . $data->last_name . '</td>';
echo '<td>' . get_position_by_code($data->position) . '</td>';
echo '<td>' . $data->login_id . '</td>';
echo '<td>' . $data->email . '</td>';
echo '<td>' . $data->employment_status . '</td>';
echo '</tr>';
endforeach;
else:
echo show_alert('No Postions record found in database.', FALSE, 'warning');
endif;
?>
</tbody>
</table><!--end table-->
<?= $links; ?>
이 문제를 해결하는 방법을 내가 어떤 페이지에 상관없이 필터링 할 수 있으며, 또한 정렬 할 수있는 열을 만들고 싶습니다.
참고 : 필터 결과도 마찬가지로 페이지 번호를 업데이트하고 싶습니다.
백만 덕분에 ... :)
사용할 수 있습니까? 모델 또는보기 파일에 있습니까? foreach 루프가 비어 있지 않기 전에'$ query-> result' 덤프를 시도 했습니까? – Bora
보기'foreach()'. 내보기 코드 테이블 –