Categories
Codeigniter

Membuat Helper Select Option di Codeigniter

Pada tutorial kali ini kita akan Membuat Helper Select Option di Codeigniter , kita sering menggunakan select option untuk pemilihan inputan dengan data yang banyak.

mengapa kita menggunakan helper ? karena untuk mempermudah dalam penampilan data dari database ke select option.

Yang belum mengetahui model bisa lihat di totorial Menggunakan Model di Codeigniter. sebelum ke contoh kita buat dulu model dan controllernya.

CREATE TABLE `siswa` (
  `nis` int(12) NOT NULL,
  `nama` varchar(30) NOT NULL,
  `jenis_kelamin` varchar(10) NOT NULL,
  `telp` varchar(12) NOT NULL,
  `alamat` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class SiswaModel extends CI_Model {
public function view(){
return $this->db->get('siswa')->result(); // Tampilkan semua data yang ada di tabel siswa
}
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Siswa extends CI_Controller {

public function __construct(){
parent::__construct();

$this->load->model('SiswaModel');
}

public function index(){

$data['siswa'] = $this->SiswaModel->view();
$this->load->view('select', $data);
}

Sekarang kita buat contoh select option dengan cara yang biasa. coba ketikan coding dibawah ini.

<select name="nis" class="form-control">
<?php
foreach ($siswa as $key) {
echo "<option value='".$key->nis."'>$key->nama</option>";
}
 ?>
</select>

cara di atas adalah cara dimana kita mengambil data lewat controller dan model, tapi dengan adanya helper kita bisa langsung mengambil data dengan memanggil nama tablenya, seperti contoh di bawah ini.

sebelum itu buat terlebih dahulu helper dengan nama myselect_helper.php. dan ketikan code dibawah ini

<?php
//warungcode.com
//$name = nama select options
//$table = nama table yang akan di ambil datanya
//$field = nama field yang akan di tampilkan pada selected
//$selected = id yang akan di select biasanya di gunakan saat edit datanya
//$class = nama class $option_tamabahan
//$extra = untuk menambahkan id atau yang lainnya
//opion_tambahan = untuk menambah option tambahan seperti Pilih Nama siswa
function select_option($name, $table, $field, $pk, $selected = null,$class = null, $extra = null, $option_tamabahan = null) {
    $ci = & get_instance();
    $cmb = "<select name='$name' class='form-control $class  ' $extra>";
    $cmb .= $option_tamabahan;
    $data = $ci->db->get($table)->result();
    foreach ($data as $row) {
        $cmb .="<option value='" . $row->$pk . "'";
        $cmb .= $selected == $row->$pk ? 'selected' : '';
        $cmb .=">" . $row->$field . "</option>";
    }
    $cmb .= "</select>";
    return $cmb;
}
//warungcode.com

Setelah kita buat helper kita load terlebih dahulu di autoload.php di bagian helper.

$autoload['helper'] = array('myselect');

lalu ketikan code dibawah ini.

<?php
echo select_option('siswa','siswa','nama','nis',null,'class_tambahan','id=siswa','<option>Pilih Data siswa</option>');
 ?>

lalu apa bedanya dengan tidak menggunakan helper, dengan menggunakan helper lebih mempersedikit codingan yang kita buat, karena kita tidak perlu menggunakan model.

kita hanya perlu controller dan view saja, serta helper, dan dengan helper juga akan mempermudah kita dalam pemanggilan selanjutnya.

ketikan code dibawah ini dan lihat perbedaannya.

<html>
<head>
  <title>Menggunakan Helper Select</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
</head>
<body>
<div class="col-md-8">
  <div class="form-group">
      <label for="exampleInputEmail1">Select Biasa</label>
<select name="nis" class="form-control">
<?php
foreach ($siswa as $key) {
echo "<option value='".$key->nis."'>$key->nama</option>";
}
 ?>
</select>
</div>

<div class="form-group">
<label for="exampleInputEmail1">Select Menggunakan Helper</label>
<?php
echo select_option('siswa','siswa','nama','nis',null,'class_tambahan','id=siswa','<option>Pilih Data siswa</option>');
 ?>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Select Menggunakan Helper (menggunakan select id)</label>
<?php
echo select_option('siswa','siswa','nama','nis','16171101','class_tambahan','id=siswa','<option>Pilih Data siswa</option>');
 ?>
</div>
</div>

 <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
</body>
</html>

sekian tutorial Memuat Helper Select Option di codeigniter, semoga dapat bermanfaat jangan lupa share dan Klik satu iklan untuk donasi website kami.

Leave a Reply

Your email address will not be published. Required fields are marked *