Postingan lainnya
Menampilkan data berdasarkan login di codeigniter
Permisi temen" saya mau tanya , saya punya 4 table , nama tabelnya : tbl_prestasi, tbl_mahasiswa, tbl_tingkat_prestasi dan tbl_jenis_prestasi,
Nah saaya mau nampilin data dari tbl_prestasi berdsarakan user yang login , saya pake codeigniter. , mohon pencerahannya
Jadi data yang muncul nanti hanya data dari user yang login saja
0
3 Jawaban:
<div>Controller nya <br><br></div><pre>//Start Ajax// public function ajax_list() { $this->load->helper('url');
$list = $this-&gt;data_prestasi_model_for_mhs-&gt;get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $mhs) {
$no++;
$row = array();
$row[] = '&lt;input type="checkbox" class="data-check" value="'.$mhs-&gt;id_prestasi.'"&gt;';
//add html for action
$row[] = '&lt;a class="btn btn-sm btn-primary" href="javascript:void(0)" title="Edit" onclick="edit_person('."'".$mhs-&gt;id_prestasi."'".')"&gt;&lt;i class="fas fa-pencil-alt"&gt;&lt;/i&gt; &lt;/a&gt;
&lt;a class="btn btn-sm btn-danger" href="javascript:void(0)" title="Hapus" onclick="delete_person('."'".$mhs-&gt;id_prestasi."'".')"&gt;&lt;i class="fas fa-recycle"&gt;&lt;/i&gt; &lt;/a&gt;';
if($mhs-&gt;file_sertifikat)
$row[] = '&lt;a href="'.base_url('upload/file_sertifikat/'.$mhs-&gt;file_sertifikat).'" target="_blank"&gt;&lt;img src="'.base_url('upload/file_sertifikat/'.$mhs-&gt;file_sertifikat).'" height="60" width="60" class="img-responsive" /&gt;&lt;/a&gt;';
else
$row[] = '&lt;a href="'.base_url('upload/file_sertifikat/no_file_available.png').'" target="_blank"&gt;&lt;img src="'.base_url('upload/file_sertifikat/no_file_available.png').'" height="60" width="60" class="img-responsive" /&gt;&lt;/a&gt;';
$row[] = $mhs-&gt;username;
$row[] = $mhs-&gt;namamahasiswa;
$row[] = $mhs-&gt;nm_tingkatprestasi;
$row[] = $mhs-&gt;nm_jenisprestasi;
$row[] = $mhs-&gt;nm_prestasi;
$row[] = $mhs-&gt;instansi_prestasi;
$row[] = $mhs-&gt;lokasi;
$row[] = $mhs-&gt;ket_kegiatan;
$row[] = $mhs-&gt;created;
$row[] = $mhs-&gt;updated;
$data[] = $row;
}
$output = array(
"draw" =&gt; $_POST['draw'],
"recordsTotal" =&gt; $this-&gt;data_prestasi_model_for_mhs-&gt;count_all(),
"recordsFiltered" =&gt; $this-&gt;data_prestasi_model_for_mhs-&gt;count_filtered(),
"data" =&gt; $data,
);
//output to json format
echo json_encode($output);
}
//End Ajax//</pre>
0
<div>Modelnya</div><pre>class Data_prestasi_model_for_mhs extends CI_Model {
// start datatables
var $table = 'tbl_prestasi_mahasiswa';
var $column_order = array(null, 'username', 'namamahasiswa', 'nm_tingkatprestasi', 'nm_jenisprestasi', 'nm_prestasi', 'instansi_prestasi', 'lokasi', 'ket_kegiatan', 'lama_kegiatan_sertifikat', 'file_sertifikat', 'created', 'updated'); //set column field database for datatable orderable
var $column_search = array('user_name', 'nm_lengkap_mahasiswa', 'nm_tingkat_prestasi', 'nm_jenis_prestasi'); //set column field database for datatable searchable
var $order = array('id_prestasi' =&gt; 'asc'); // default order
private function _get_datatables_query() {
$this-&gt;db-&gt;select('*, tbl_mahasiswa.user_name as username, tbl_mahasiswa.nm_lengkap_mahasiswa as namamahasiswa, tbl_tingkat_prestasi.nm_tingkat_prestasi as nm_tingkatprestasi, tbl_jenis_prestasi.nm_jenis_prestasi as nm_jenisprestasi');
$this-&gt;db-&gt;from('tbl_prestasi_mahasiswa');
$this-&gt;db-&gt;join('tbl_mahasiswa', 'tbl_prestasi_mahasiswa.id_mahasiswa = tbl_mahasiswa.id_mahasiswa', '');
$this-&gt;db-&gt;join('tbl_tingkat_prestasi', 'tbl_prestasi_mahasiswa.id_tingkat_prestasi = tbl_tingkat_prestasi.id_tingkat_prestasi');
$this-&gt;db-&gt;join('tbl_jenis_prestasi', 'tbl_prestasi_mahasiswa.id_jenis_prestasi = tbl_jenis_prestasi.id_jenis_prestasi');
$i = 0;
foreach ($this-&gt;column_search as $tenaga_pengajar) { // loop column
if(@$_POST['search']['value']) { // if datatable send POST for search
if($i===0) { // first loop
$this-&gt;db-&gt;group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
$this-&gt;db-&gt;like($tenaga_pengajar, $_POST['search']['value']);
} else {
$this-&gt;db-&gt;or_like($tenaga_pengajar, $_POST['search']['value']);
}
if(count($this-&gt;column_search) - 1 == $i) //last loop
$this-&gt;db-&gt;group_end(); //close bracket
}
$i++;
}
if(isset($_POST['order'])) { // here order processing
$this-&gt;db-&gt;order_by($this-&gt;column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
} else if(isset($this-&gt;order)) {
$order = $this-&gt;order;
$this-&gt;db-&gt;order_by(key($order), $order[key($order)]);
}
}
function get_datatables() {
$this-&gt;_get_datatables_query();
if(@$_POST['length'] != -1)
$this-&gt;db-&gt;limit(@$_POST['length'], @$_POST['start']);
$query = $this-&gt;db-&gt;get();
return $query-&gt;result();
}
function count_filtered() {
$this-&gt;_get_datatables_query();
$query = $this-&gt;db-&gt;get();
return $query-&gt;num_rows();
}
function count_all() {
$this-&gt;db-&gt;from('tbl_prestasi_mahasiswa');
return $this-&gt;db-&gt;count_all_results();
}
// end datatables</pre>
0
<div>saya menggunakan jquery datatable. terimakasih mohon pencerahaannya</div>
0