Postingan lainnya
Membuat fitur SEARCHING pada data-data yang di ambil dari 3 tabel terjoin
Saya ingin membuat fitur searching pada tabel yang sudah saya join (ada 3 tabel) tapi saya bingung hasilnya selalu menampilkan output seluruh datanya (tidak sesuai keyword yang saya ketikan pada kotak inputan searchingnya)
berikut control model dan viewnya:
CONTROLLER:
public function role()
{
$data['title'] = 'Role | bankeuverifikasi';
$data['myprofile'] = 'Role Management';
$data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
$this->load->model('Role_model', 'role');
$data['getrole'] = $this->role->getRole();
if ($this->input->post('keyword')) {
$data['getrole'] = $this->role->cariDataUser();
$keyword = $this->input->post('keyword', true);
$this->db->like('name', $keyword);
$this->db->get('user')->result_array();
}
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar', $data);
$this->load->view('templates/topbar', $data);
$this->load->view('admin/role', $data);
$this->load->view('templates/footer');
}
pada controller saya membuat 2 model, pertama getRole() digunakan untuk menampilkan seluruh data hasil gabungan dari 3 tabel (untuk lebih jelas nanti lihat ke VIEW dan MODEL), kedua cariDataUser() digunakan untuk fungsional searching berdasarkan data yang dihasilkan si getRole().
untuk lebih jelas berikut MODEL nya:
MODEL getRole()
class Role_model extends CI_Model
{
public function getRole($limit, $start)
{
$query = "SELECT `dispermades`.`kabupaten`, `dispermades`.`kecamatan`, `dispermades`.`desa`, `user`.`name`, `user`.`is_active`, `user`.`user_id`, `user`.`role_id`, `role`.`role_akses` FROM `user` LEFT JOIN `dispermades` ON `user`.`user_id` = `dispermades`.`permendagri_id` LEFT JOIN `role` ON `user`.`role_id` = `role`.`id`
";
return $this->db->query($query, $limit, $start)->result_array();
}
isinya query manual yang nantinya dipanggil lewat controller dikirim ke view...
MODEL cariDataUser()
public function cariDataUser()
{
$query = "SELECT `dispermades`.`kabupaten`, `dispermades`.`kecamatan`, `dispermades`.`desa`, `user`.`name`, `user`.`is_active`, `user`.`user_id`, `user`.`role_id`, `role`.`role_akses` FROM `user` LEFT JOIN `dispermades` ON `user`.`permendagri_id` = `dispermades`.`permendagri_id` LEFT JOIN `role` ON `user`.`role_id` = `role`.`id`
";
$keyword = $this->input->post('keyword', true);
$this->db->like('name', $keyword);
$this->db->or_like('desa', $keyword);
$this->db->or_like('kecamatan', $keyword);
$this->db->or_like('kabupaten', $keyword);
$this->db->or_like('role', $keyword);
return $this->db->count_all_results($query)->result_array();
}
isinya query manual juga yang nantinya dipanggil lewat controller dikirim ke view... kira2 yang bener gimana ya master2... help me....
VIEWnya:
<!-- Begin Page Content -->
<div class="container-fluid">
<!-- Page Heading -->
<h1 class="h3 mb-4 text-gray-800"><?= $myprofile; ?></h1>
<div class="row mt-3 justify-content-center mb-4">
<div class="col-md-6">
<form action="<?= base_url('admin/role'); ?>" method="post">
<div class="input-group mb-3">
<input type="text" class="form-control" name="keyword" autofocus>
<div class="input-group-append">
<button class="btn btn-primary" type="submit">Search</button>
</div>
</div>
</form>
</div>
</div>
<div class="row">
<div class="col">
<?= $this->session->flashdata('message'); ?>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Petugas</th>
<th scope="col">Desa</th>
<th scope="col">Kecamatan</th>
<th scope="col">Kabupaten</th>
<th scope="col">Role</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<?php $i = 1; ?>
<?php foreach ($getrole as $gr) : ?>
<tr>
<th scope="row"><?= $i; ?></th>
<td><?= $gr['name']; ?></td>
<td><?= $gr['desa']; ?></td>
<td><?= $gr['kecamatan']; ?></td>
<td><?= $gr['kabupaten']; ?></td>
<td><?= $gr['role_akses']; ?></td>
<td>
<a href="<?= base_url('admin/roleedit/') . $gr['user_id']; ?>" class="badge badge-info">Edit</a>
<a href="<?= base_url('admin/roleaccess/') . $gr['role_id']; ?>" class="badge badge-warning">Permission</a>
<a href="<?= base_url('admin/hapususer/') . $gr['user_id']; ?>" class="badge badge-danger" onclick="return confirm('yakin?');">Delete</a>
</td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
Semoga kebaikan kalian terbalaskan dimanapun kalian berada
Belum ada Jawaban. Jadi yang pertama Jawaban
Login untuk ikut Jawaban