Faber Nainggolan Blog's

Artikel, Tutorial Pemrograman, Tutorial database, PHP dan Framework

LightBlog

Dalam membangun project dengan framework codeigniter bahasa default atau language package nya adalah bahasa inggris. Nah pada kesempatan ini...

Memulai Project CodeIgniter : Part 10 Mengganti Dukungan Bahasa

Dalam membangun project dengan framework codeigniter bahasa default atau language package nya adalah bahasa inggris. Nah pada kesempatan ini kita akan mengganti menjadi bahasa indonesia. Untuk dukungan bahasanya banyak tersedia berbagai forum.

Dan untuk bahasa dukungan saya ambil dari blog http://warizzmann.github.io/codigniter3-language-bahasa/ untuk core codeigniter nya sudah mendukung codeigniter 3

Silakan didownload di link tersebut lalu ekstrak dan tempatkan folder ekstrak an dan ganti nama foldernya menjadi indonesia  di folder ./application/language/ sehingga didalam folder language menjadi 2 folder yaitu english dan indonesia

selanjutnya lakukan konfigurasi pada file config.php pada folder ./application/config/ ubah seperti dibawah ini


$config['language'] = 'english';
ubah menjadi
$config['language'] = 'indonesia';

sampai disini kita sudah berhasil mengganti bahasa dukungan codeigniter
Untuk output bisa dilihat dibawah ini

Gambar pada form validasi 

Gambar pada error koneksi ke database

0 comments:

Pada artikel sebelumnya kita telah membuat upload file dan lanjutnya adalah kita akan modifikasi dan menghapus tersebut. Oke langsung kita m...

Memulai Project CodeIgniter : Part 9 Upload File bagian 2

Pada artikel sebelumnya kita telah membuat upload file dan lanjutnya adalah kita akan modifikasi dan menghapus tersebut. Oke langsung kita mulai
Langkah awal kita tambahkan fungsi untuk menangani edit dan hapus upload nya buat buatkan dibawah fungsi terakhir pada controller Upload.php

//fungsi untuk menangani pemanggilan aksi edit ketika form upload di submit
    public function aksi_edit(){
        $kode     = addslashes($this->input->post('kode'));
        $nama     = addslashes($this->input->post('nama'));
        $keterangan    = addslashes($this->input->post('keterangan'));
        $filelama = $this->input->post('gambarold');
 
        //configurasi upload
        $path   = "./assets/uploads/";
        $nmfile = "file_".time(); //nama file saya beri nama langsung dan diikuti fungsi time
        $config['upload_path'] = $path; //path folder
        $config['allowed_types'] = 'gif|jpg|png|jpeg|bmp'; //type yang dapat diakses bisa anda sesuaikan
        $config['max_size'] = '2048'; //maksimum besar file 2M
        $config['max_width']  = '1288'; //lebar maksimum 1288 px
        $config['max_height']  = '768'; //tinggi maksimu 768 px
        $config['file_name'] = $nmfile; //nama yang terupload nantinya
        $this->upload->initialize($config);

        if ($this->upload->do_upload('gambar')){
                $gbr = $this->upload->data(); //gambar diupload
                $data = array(
                  'nm_gbr'  => $gbr['file_name'],
                  'tipe_gbr' => $gbr['file_type'],
                  'ket_gbr'=> $keterangan
                );
                @unlink($path.$filelama);//menghapus gambar lama, variabel dibawa dari form
                $this->mupload->getupdate($kode,$data); //model update data
                $this->session->set_flashdata("pesan", "Gambar berhasil diperbaharui"); //pesan yang tampil setelah berhasil di update
                redirect('upload');
        }else{ 
            $info = array(
              'aket'=>$keterangan,
              'judul' => 'Tambah Gambar',
              'aksi' => 'aksi_edit'
            );
            $err = $this->upload->display_errors(); //error upload akan dimunculkan pada pesan

            $this->session->set_flashdata("pesan", "Data Gagal di update <br>".$err);

            //ketika error terjadi halaman akan tetap di form barang
            $this->load->view('header',$info); 
            $this->load->view('upload/vformupload',$info);
            $this->load->view('footer',$info); 
        }
    }
 
    //fungsi untuk menangani apabila hapus gambar dan hapus file upload
    public function hapus(){
        $id = $this->input->get('id'); //variabel id dari url
        $path = "./assets/uploads/";
        $row = $this->mupload->getbyid($id);
        $gbrlama = $row->nm_gbr;
        @unlink($path.$gbrlama);//menghapus gambar lama, variabel dibawa dari form
        $this->mupload->getdelete($id);
        $this->session->set_flashdata("pesan", "File berhasil dihapus");
        redirect('upload');
    }


Untuk Models Mbarang.php nya buat jadi seperti ini
<?php
class Mbarang extends CI_Model {
    var $tabel = 'tb_barang'; //variabel tabel

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

    function getallbarang($batas =null,$offset=null,$key=null) {
        $this->db->from($this->tabel);
        $this->db->order_by('kode_brg','DESC');
        if($batas != null){
            $this->db->limit($batas,$offset);
        }
        if ($key != null) {
           $this->db->or_like($key);
        }
        $query = $this->db->get();

        //cek apakah ada barang
        if ($query->num_rows() > 0) {
            return $query->result();
        }
    }

    function getbarangbyid($id) {
        $this->db->from($this->tabel);
        $this->db->where('kode_brg', $id);

        $query = $this->db->get();
        if ($query->num_rows() == 1) {
            return $query->row();
        }
    }

    function getinsert($data){
        $this->db->insert($this->tabel, $data);
        return TRUE;
    }

    function getupdate($id,$data) {
        $this->db->where('kode_brg', $id);
        $this->db->update($this->tabel, $data);
        return TRUE;
    }

    function delbarang($id) {
        $this->db->where('kode_brg', $id);
        $this->db->delete($this->tabel);
        if ($this->db->affected_rows() == 1) {
            return TRUE;
        }
        return FALSE;
    }

    function countbarang(){
        $query = $this->db->get($this->tabel)->num_rows();
        return $query;
    }

    function  countbarangsearch($orlike) {
        $this->db->or_like($orlike);
        $query = $this->db->get($this->tabel);

        return $query->num_rows();
    }
}
?>

untuk views nya pada artikel sebelumnya sudah saya includekan langsung.

nah coba jalankan di browser apakah sudah berhasil, jika diikuti dengan baik saya fikir untuk proses edit dan hapusnya pasti berhasil
Terimakasih semoga tutorial ini bermanfaat

Sumber Referensi
https://www.codeigniter.com/user_guide/libraries/file_uploading.html

0 comments:

Pada sebuah form input php, pasti kita tidak lepas dari input file atau input gambar untuk mendukung sebuah artikel kita. Maka dari itu saya...

Memulai Project CodeIgniter : Part 9 Upload File

Pada sebuah form input php, pasti kita tidak lepas dari input file atau input gambar untuk mendukung sebuah artikel kita. Maka dari itu saya akan share skrip upload files pada codeigniter. Karena itu masih dalam seri Memulai Project Codeigniter saya sarankan agar membaca artikel sebelumnya dan core codeigniternya saya dari artikel sebelumnya.

Pada codeigniter librari upload sendiri sudah tersedia tanpa kita harus membuat librari baru lagi. Pada codeigniter kita tinggal memanggil $this->load->library('upload') pada contoller atau supaya otamatis bisa dipanggil pada setiap controller tambahkan library upload pada autoload.php untuk mempersingkat waktu mari kita mulai implementasinya.

Langkah 1 : Setting

Agar file berhasil disimpan buat folder ./assets/uploads karna path folder uploadnya saya buat seperti itu agan bisa ubah sesuai dengan selera agan

Setting pada config/routes.php agar langsung otomatis mengakses controller upload ketika url diakses di browser
$route['default_controller'] = "upload";

Setting pada config/autoload.php agar terload otomatis
$autoload['libraries'] = array('database','session','form_validation','pagination','upload');

Kemudian pada models pada autoload tambahkan model mupload
$autoload['model'] = array('mbarang','mupload');

Langkah 2 : Tabel database

CREATE TABLE `tb_uploadimage` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `nm_gbr` varchar(35) DEFAULT NULL,
  `tipe_gbr` varchar(10) DEFAULT NULL,
  `ket_gbr` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1

Langkah 3 : Views

Pada kasus kali, yang akan kita buat adalah proses upload untuk file gambar, pertama buat view untuk tampilan awalnya dimana semua data yang ada didatabase ditampilkan beri nama vupload.php simpan di folder ./application/views/upload/

<section>
<div class="container"> 
 <h1>Data File Gambar</h1>
  <a href="<?php echo base_url();?>upload/tambah" class="button">Tambah</a>
  <div class="pesan-sukses"><?php echo $this->session->flashdata("pesan");?></div> 
 
  <table class="table">
   <tr>
    <th style="width: 5%;">No</th>
    <th>Keterangan File</th>
    <th>Tipe File</th>
    <th>Gambar File</th>
    <th></th>
 
   </tr>
   <?php if(!$queryupload){?>
    <tr><td colspan="9">Data Masih Kosong</td> </tr>
   <?php }else{
     $no =0; 
     foreach ($queryupload as $rstupld) {$no++;
   ?>
   <tr>
    <td><?php echo $no;?></td>
    <td><?php echo $rstupld->ket_gbr;?></td>
    <td><?php echo $rstupld->tipe_gbr;?></td>
    <td><img style="width: 200px;"> src="<?php echo base_url();?>assets/uploads/<?php echo $rstupld->nm_gbr;?>"></td> 
    <td><a href="<?php echo base_url()?>upload/edit/?id=<?php echo $rstupld->id;?>" class="button3 button-sm">EDIT</a>
     <a onclick="return KonfirmasiHapus()" href="<?php echo base_url()?>upload/hapus/?id=<? echo $rstupld->id;?>" class="button4 button-sm">HAPUS</a>
    </td>
   </tr>
   <?php }}?>
  </table>
 
</div>
</section>
<script type="text/javascript">
function KonfirmasiHapus() {
  return confirm("Apa anda yakin akan menghapus data ini?");
}
</script>
 

Kemudian untuk view form nya simpan dengan nama vformupload.php dan simpan juga di ./application/views/upload/

<?php 
if($aksi=='aksi_tambah'){
 $kode = "";
 $filegambar = "";
 $keterangan = @$aket;
}elseif($aksi=='aksi_edit'){
 $kode = $row->id;
 $filegambar = $row->nm_gbr;
  $keterangan = $row->ket_gbr;
}
?>
<section>
<div class="container"> 
 <h1>Form Upload Gambar</h1>
  <div class="form">
  <div class="pesan-error"><?php echo $this->session->flashdata("pesan");?></div> 
 <form method="post" enctype="multipart/form-data" action="<?php echo base_url()?>upload/<?php echo $aksi?>"> 
  <label>Keterangan</label>
    <textarea name="keterangan"><?php echo $keterangan;?></textarea>

  <label>File Gambar</label>
    <input type="file" name="gambar" class="w1">
    <input type="hidden" name="gambarold" value="<?php echo $filegambar;?>"> 
    
    <input type="submit" class="button" name="simpan" value="Simpan">
    <a href="<?php echo base_url();?>upload" class="button2">Kembali</a>
    <input type="hidden" name="kode" value="<?php echo $kode;?>">

   </form>
   
  </div>
</div>
</section>

Langkah 4 : Controllers

buat file controller beri nama Upload.php dan simpan difolder application/controllers

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Upload extends CI_Controller {
/******************************************************
  | Upload
  | controller Upload view, create, update, delete
  | by gTech
  *****************************************************/
  public function __construct() {
    parent::__construct();
  }
  
    //fungsi awal ketika kita panggil controller gambar
    public function index(){
      $data['judul'] = 'Upload Gambar'; //judul title      
      $data['queryupload'] = $this->mupload->getallimage(); //model semua file 
      
      //template views
      $this->load->view('header',$data); //load header
      $this->load->view('upload/vupload',$data); //load views
      $this->load->view('footer',$data); //load footer
    }
     
    //fungsi form tambah ketika kita panggil pada link 
    public function tambah(){     
      $data['judul'] = 'Tambah Gambar';
      $data['aksi'] = 'aksi_tambah';

      //template views
      $this->load->view('header',$data);
      $this->load->view('upload/vformupload',$data);
      $this->load->view('footer',$data);
    }
    //fungsi form edit ketika kita panggil pada link
    public function edit(){
      $id = $this->input->get('id');
      $data['row'] = $this->mupload->getbyid($id);
      $data['judul'] = 'Edit Gambar';
      $data['aksi']  = 'aksi_edit';

      //template views
      $this->load->view('header',$data);
      $this->load->view('upload/vformupload',$data);
      $this->load->view('footer',$data);
    }
    //fungsi untuk menangani pemanggilan aksi tambah ketika form di submit
    public function aksi_tambah(){
        //deklarasikan variabel dari form
        $nama     = addslashes($this->input->post('nama'));
        $keterangan    = addslashes($this->input->post('keterangan'));
 
        //validasi 
        $this->form_validation->set_rules('gambar', 'File Gambar', 'trim|xss_clean'); //file gambar

        //configurasi upload
        $nmfile = "file_".time(); //nama file saya beri nama langsung dan diikuti fungsi time
        $config['upload_path'] = './assets/uploads/'; //path folder
        $config['allowed_types'] = 'gif|jpg|png|jpeg|bmp'; //type yang dapat diakses bisa anda sesuaikan
        $config['max_size'] = '2048'; //maksimum besar file 2M
        $config['max_width']  = '1288'; //lebar maksimum 1288 px
        $config['max_height']  = '768'; //tinggi maksimu 768 px
        $config['file_name'] = $nmfile; //nama yang terupload nantinya
        $this->upload->initialize($config);

        if ($this->form_validation->run() == TRUE) {
            if ($this->upload->do_upload('gambar')){
                $gbr = $this->upload->data();
                $data = array(
                  'nm_gbr'  => $gbr['file_name'],
                  'tipe_gbr' => $gbr['file_type'],
                  'ket_gbr'=> $keterangan
                );
                $this->mupload->getinsert($data); //model insert data
                $this->session->set_flashdata("pesan", "Data berhasil di insert"); //pesan yang tampil setalah berhasil di insert
                redirect('upload');
            }else{
              $info = array(
                'aket'=>$keterangan,
                'judul' => 'Tambah Gambar',
                'aksi' => 'aksi_tambah'
              );
              $err = $this->upload->display_errors(); //error upload
              $this->session->set_flashdata("pesan", "Data Gagal di insert
".$err);
              //ketika error terjadi halaman akan tetap di form 
              $this->load->view('header',$info); 
              $this->load->view('upload/vformupload',$info);
              $this->load->view('footer',$info); 

            }
        }else{
          //ini berfungsi agar field form tidak menjadi kosong, dibuat dalam array
          //variabel akan tetap dibawa jika error terjadi pada saat validasi
          $info = array(
            'aket'=>$keterangan,
            'judul' => 'Tambah Gambar',
            'aksi' => 'aksi_tambah'
          );
          $err = validation_errors(); //error validasi akan dimunculkan pada pesan

          $this->session->set_flashdata("pesan", "Data Gagal di insert
".$err);

          //ketika error terjadi halaman akan tetap di form barang
          $this->load->view('header',$info); 
          $this->load->view('upload/vformupload',$info);
          $this->load->view('footer',$info); 
        }
      }
}

/* End of file Upload.php */
/* Location: ./application/controllers/Upload.php */

Pada skrip saya sudah buatkan keterangannya agar lebih mudah dipahami, kemudian saya juga.

Langkah 5 : Model

Kemudian selanjutnya kita buat skrip untuk modelnya, beri nama Mupload.php simpan di folder ./application/models/

<?php class Mupload extends CI_Model {
    var $tabel = 'tb_uploadimage'; //buat variabel tabel 

    //fungsi untuk menampilkan semua data dari tabel database
    function getallimage() {
        $this->db->from($this->tabel);
        $query = $this->db->get();

        //cek apakah ada data
        if ($query->num_rows() > 0) {
            return $query->result();
        }
    }
    //query untuk satu data dari tabel
    function getbyid($id) {
        $this->db->from($this->tabel);
        $this->db->where('id', $id);

        $query = $this->db->get();
        if ($query->num_rows() == 1) {
            return $query->row();
        }
    }
    //query insert ke database
    function getinsert($data){
       $this->db->insert($this->tabel, $data);
       return TRUE;
    }
}
?>

Output


Gambar tampilan upload

gambar tampilan form upload

gambar tampilan hasil upload berhasil 


sampai disini kita sudah berhasil mengupload gambar dan menyimpannya ke dalam database, untuk edit dan hapus file upload akan kita bahas pada artikel selanjutnya. Tetap ikut
Sekian dan terimakasih

Bersambung

0 comments:

Fungsi helper sangat membantu kita dalam menangani berbagai macam yang akan diterapkan di tampilan akhir. Pada codeigniter sudah disediakan ...

Memulai Project CodeIgniter : Part 8 Membuat Helper

Fungsi helper sangat membantu kita dalam menangani berbagai macam yang akan diterapkan di tampilan akhir. Pada codeigniter sudah disediakan helper fungsi yang dapat membantu kita dalam menangani berbagai macam masalah.


Pada kesempatan ini kita akan membuat fungsi helper buatan kita sendiri dan dapat diterapkan pada aplikasi yang kita bangun.

  1. Dalam membuat fungsi helper yang mesti kita ingat adalah ini membantu dalam penangan masalah di codeigniter (hanya pembantu) bukan menjadi penanganan utama. Kalo utama buat aja di contollernya.
  2. Kemudian penamaan helper bisanya dimulai dengan namahelper kemudian diakhiri dengan _helper.php
  3. Kita dapat menyimpan helper kita ini di folder /application/helpers/
  4. Helper dapat kita buat untuk menangani penggantian jenis kelamin contoh laki-laki dan perempuan yang dimana di database kita simpan dengan nilai value 0 atau 1
  5. Helper bisa juga kita buat untuk menagani pergantian status, contoh aktif, noaktif, pending dan lain sebagainya

Baik pada artikel sebelum sebelumnya saya sudah pernah menambah sebuah artikel tentang fungsi tanggal indonesia di php dan codeigniter ini bisa kita gabungkan menjadi helper buatan kita. Jika belum dibaca silakan dibuka pada link dibawah :
Fungsi PHP format tanggal Indonesia
Membuat Fungsi konversi mata uang Rupiah pada PHP

Mari kita buat beberapa contoh fungsi, dan kita buat dalam satu helper, beri nama file ini dengan nama fungsi_helper.php dan simpan sesuai keterangan diatas

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

//function tanggal indonesia yang berformat yyyy-mm-dd dan akan menghasilkan output 12 Juni 2017
 function tgl_indo($tgl){
    $ubah = gmdate($tgl, time()+60*60*8);
 $pecah = explode("-",$ubah);
 $tanggal = $pecah[2];
 $bulan = bulan($pecah[1]);
 $tahun = $pecah[0];
 return $tanggal.' '.$bulan.' '.$tahun;
} 
//function tanggal yang berformat timestamp yang diubah menjadi seperti ini 12 Jun 2017
 function tgldikit($tgl){

     $inttime=date('Y-m-d H:i:s',$tgl);

     $arr_bulan=array("","Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des");
      $tglBaru=explode(" ",$inttime);
      $tglBaru1=$tglBaru[0];$tglBaru2=$tglBaru[1];
      $tglBarua=explode("-",$tglBaru1);
      $tgl=$tglBarua[2]; $bln=$tglBarua[1]; $thn=$tglBarua[0];
      if(substr($bln,0,1)=="0") $bln=substr($bln,1,1);
      $bln=substr($arr_bulan[$bln],0,10);
      $ubahTanggal="$tgl $bln $thn";

  return $ubahTanggal;
}

 //fungsi untuk mengubah nilai integer menjadi format rupiah dengan fungsi number_format diphp
 function rupiah($nilai, $pecahan = 0){
   return number_format($nilai, $pecahan, ',', '.');
} 

//fungsi untuk mengubah nilai integer menjadi format rupiah dengan strlen (penghitungan karakter) kemudian dipisah berdasarkan ratusan ribuan dan seterusnya
 function rupiah2($harga)
{
 $a=(string)$harga; //membuat $harga menjadi string
 $len=strlen($a); //menghitung panjang string $a

 if ( $len <=18 )
 {
  $ratril=$len-3-1;
  $ramil=$len-6-1;
  $rajut=$len-9-1; //untuk mengecek apakah ada nilai ratusan juta (9angka dari belakang)
  $juta=$len-12-1; //untuk mengecek apakah ada nilai jutaan (6angka belakang)
  $ribu=$len-15-1; //untuk mengecek apakah ada nilai ribuan (3angka belakang)

  $angka='';
  for ($i=0;$i<$len;$i++)
  {
   if ( $i == $ratril )
   {
    $angka=$angka.$a[$i].".";
   }
   else if ($i == $ramil )
   {
    $angka=$angka.$a[$i].".";
   }
   else if ( $i == $rajut )
   {
    $angka=$angka.$a[$i]."."; //meletakkan tanda titik setelah 3angka dari depan
   }
   else if ( $i == $juta )
   {
    $angka=$angka.$a[$i]."."; //meletakkan tanda titik setelah 6angka dari depan
   }
   else if ( $i == $ribu )
   {
    $angka=$angka.$a[$i]."."; //meletakkan tanda titik setelah 9angka dari depan
   }
   else
   {
    $angka=$angka.$a[$i];
   }
  }
 }
 return $angka.",-";
 }

untuk menjalankan tinggal helper nya di load kemudian panggil nama fungsi nya di controller atau view. Mari kita coba implementasikan ke project kita sebelumnya yaitu crud.
Pertama load helper fungsi di autoload atau bisa juga dload pada controller, saya akan load di autoload, tambahkan pada bagian seperti dibawah
$autoload['helper'] = array('url','form','fungsi');

kemudian pada views vbarang.php ubah menjadi seperti dibawah ini
<section>
<div class="container"> 
 <h1>Data Barang</h1>
  <a href="<?php echo base_url();?>barang/tambah" class="button">Tambah</a>
  <div class="pesan-sukses"><?php echo $this->session->flashdata("pesan");?></div> 
 <form action="<?php echo base_url();?>barang/cari/">
 <div class="inputgroup">
     <input name="key" value="" class="formcontrol" placeholder="Search" type="text" >
     <span class="input-group-btn">
        <button class="btn-default" type="submit">Cari</button>
     </span>
     <div class="clear"></div>
</div>
</form>
  <table class="table">
   <tr>
    <th>No</th>
    <th>Kode</th>
    <th>Barcode</th>
    <th>Nama Barang</th>
    <th>Harga </th>
    <th>Jenis </th>
    <th>Satuan </th>
    <th>Stok </th>
    <th style="width: 30%;">Keterangan </th>
    <th></th>
   </tr>
   <?php if(!$querybarang){?>
    <tr><td colspan="9">Data Masih Kosong</td> </tr>
   <?php }else{
     $no =$jlhpage; 
     foreach ($querybarang as $rstbrg) {$no++;
   ?>
   <tr>
    <td><?php echo $no;?></td>
    <td>#<?php echo $rstbrg->kode_brg;?></td>
    <td><?php echo $rstbrg->barcode;?></td>
    <td><?php echo $rstbrg->nama_brg;?></td>
    <td><?php echo rupiah($rstbrg->harga_brg);?></td>
    <td><?php echo $rstbrg->jenis;?></td>
    <td><?php echo $rstbrg->satuan;?></td>
    <td><?php echo $rstbrg->stok_brg;?></td>
    <td><?php echo $rstbrg->keterangan;?></td>
    <td><a href="<?php echo base_url()?>barang/edit/?id=<? echo $rstbrg->kode_brg;?>">Edit</a>
     <a href="<?php echo base_url()?>barang/detail/?id=<? echo $rstbrg->kode_brg;?>">Detail</a>
     <a onclick="return KonfirmasiHapus()" href="<?php echo base_url()?>barang/hapus/?id=<? echo $rstbrg->kode_brg;?>">Hapus</a>
    </td>
   </tr>
   <?php }}?>
  </table>
  <div class="pagination">
   <span class="pagination-btns">
          <?=$page_halaman?>
          <div class="clear"></div>
      </span>
        </div> 
</div>
</section>
<script type="text/javascript">
function KonfirmasiHapus() {
  return confirm("Apa anda yakin akan menghapus data ini?");
}
</script>
  
pada baris ke-39 saya panggil fungsi rupiah() sebelum variabel.

dan berikut tampilan nya jika lihat di browser
terlihat harga dirubah menjadi format rupiah

Demikian tutorial kali semoga bermanfaat
mungkin yang mau nambah fungsi bisa dibuat komentar biar saya naikkan pada artikel ini


0 comments:

Melanjutkan tutorial Memulai Project CodeIgniter : Part 6 CRUD bagian 2 kali ini saya akan membagikan tutorial untuk membuat paging dan sea...

Memulai Project CodeIgniter : Part 7 Paging dan Pencarian

Melanjutkan tutorial Memulai Project CodeIgniter : Part 6 CRUD bagian 2 kali ini saya akan membagikan tutorial untuk membuat paging dan searching pada CRUD yang telah kita buat.

Oke saya anggap untuk proses awal nya sudah harus dilakukan dan ini merupakan tutorial lanjutan. Saya harapkan tahap demi tahap diperhatikan agar penyisipan skripnya berjalan dengan baik : jika belum dibaca silakan di klik Label CodeIgnter untuk melihat artikel mengenai codeigniter sebelumnya.

1. Config

pada file autoload.php pada folder ./application/config/ tambahkan library pagination buat seperti berikut
$autoload['libraries'] = array('database','session','form_validation','pagination');

2. Controller


buka controller Barang.php pada folder aplication/controllers dan pada baris public function index() tambahkan script untuk paging, ubah skrip sebelumnya menjadi seperti dibawah ini :

public function index(){
      $data['judul'] = 'CRUD CodeIgniter Studi Kasus Barang'; //judul title
      
      //pagination
      $page=$this->input->get('per_page');
      $batas=1; //jlh data yang ditampilkan per halaman
      if(!$page)://jika page bernilai kosong maka batas akhir akan di set 0
        $offset = 0;
      else:
        $offset = $page; // jika tidak kosong maka nilai batas akhir nya akan diset nilai page terakhir
      endif;

      $config['page_query_string'] = TRUE; //mengaktifkan pengambilan method get pada url default
      $config['base_url'] = base_url().'barang?';   //url yang muncul ketika tombol pada paging diklik
      $config['total_rows'] = $this->mbarang->countbarang(); // jlh total barang
      $config['per_page'] = $batas; //batas sesuai dengan variabel batas
      $config['uri_segment'] = $page; //merupakan posisi pagination dalam url pada kesempatan ini saya menggunakan method get untuk menentukan posisi pada url yaitu per_page
      $config['full_tag_open'] = '<ul class="pagination">';
      $config['full_tag_close'] = '</ul>';
      $config['first_link'] = '&laquo; First';
      $config['first_tag_open'] = '<li class="prev page">';
      $config['first_tag_close'] = '</li>';
      $config['last_link'] = 'Last &raquo;';
      $config['last_tag_open'] = '<li class="next page">';
      $config['last_tag_close'] = '</li>';
      $config['next_link'] = 'Next &rarr;';
      $config['next_tag_open'] = '<li class="next page">';
      $config['next_tag_close'] = '</li>';
      $config['prev_link'] = '&larr; Prev';
      $config['prev_tag_open'] = '<li class="prev page">';
      $config['prev_tag_close'] = '</li>';
      $config['cur_tag_open'] = '<li class="active"><a href="">';
      $config['cur_tag_close'] = '</a></li>';

      $config['num_tag_open'] = '<li class="page">';
      $config['num_tag_close'] = '</li>';
      $this->pagination->initialize($config);
      $data['page_halaman']=$this->pagination->create_links();
      $data['jlhpage']=$page;

      $data['querybarang'] = $this->mbarang->getallbarang($batas,$offset); //model semua barang
      
      //template views
      $this->load->view('header',$data);
      $this->load->view('barang/vbarang',$data); //load views vbarang
      $this->load->view('footer',$data);
    }

Penjelasan

  1. pada baris $config['total_rows'] total diambil memalui query yang ditambahkan pada model
  2. pada baris $data['querybarang'] getallbarang berisi variabel $batas dan $offset untuk membatasi jumlah per halaman yang ditangani melalui query di model


Masih pada controller Barang.php selanjutnya tambahkan sebuah function cari() untuk menangani pencarian nantinya dan buat seperti dibawah ini :

public function cari(){
        $key= $this->input->get('key'); //method get key
        $page=$this->input->get('per_page');  //method get per_page

        $search=array(
            'nama_brg'=> $key,
            'barcode'=> $key
        ); //array pencarian yang akan dibawa ke model

        $batas=5; //jlh data yang ditampilkan per halaman
        if(!$page): //jika page bernilai kosong maka batas akhirna akan di set 0
           $offset = 0;
        else:
           $offset = $page; // jika tidak kosong maka nilai batas akhir nya akan diset nilai page terakhir
        endif;

        $config['page_query_string'] = TRUE; //mengaktifkan pengambilan method get pada url default
        $config['base_url'] = base_url().'barang/?key='.$key;   //url yang muncul ketika tombol pada paging diklik
        $config['total_rows'] = $this->mbarang->countbarangsearch($search); // jlh total barang
        $config['per_page'] = $batas; //batas sesuai dengan variabel batas
        $config['uri_segment'] = $page; //merupakan posisi pagination dalam url pada kesempatan ini saya menggunakan method get untuk menentukan posisi pada url yaitu per_page
        $config['full_tag_open'] = '<ul class="pagination">';
        $config['full_tag_close'] = '</ul>';
        $config['first_link'] = '&laquo; First';
        $config['first_tag_open'] = '<li class="prev page">';
        $config['first_tag_close'] = '</li>';
        $config['last_link'] = 'Last &raquo;';
        $config['last_tag_open'] = '<li class="next page">';
        $config['last_tag_close'] = '</li>';
        $config['next_link'] = 'Next &rarr;';
        $config['next_tag_open'] = '<li class="next page">';
        $config['next_tag_close'] = '</li>';
        $config['prev_link'] = '&larr; Prev';
        $config['prev_tag_open'] = '<li class="prev page">';
        $config['prev_tag_close'] = '</li>';
        $config['cur_tag_open'] = '<li class="active"><a href="">';
        $config['cur_tag_close'] = '</a></li>';
        $config['num_tag_open'] = '<li class="page">';
        $config['num_tag_close'] = '</li>';
        $this->pagination->initialize($config);
        $data['page_halaman']=$this->pagination->create_links();
        $data['jlhpage']=$page;

        $data['judul'] = 'CRUD CodeIgniter Studi Pencarian Kasus Barang'; //judul title
        $data['querybarang'] = $this->mbarang->getallbarang($batas,$offset,$search); //query model semua barang

        //template views
        $this->load->view('header',$data);
        $this->load->view('barang/vbarang',$data); //load views vbarang
        $this->load->view('footer',$data);
    }



3. Model

Buka model Mbarang.php pada folder aplication/models dan pada function getallbarang() ubah skrip seperti dibawah ini :

function getallbarang($batas =null,$offset=null,$key=null) {
    $this->db->from($this->tabel);
    if($batas != null){
       $this->db->limit($batas,$offset);
    }
    if ($key != null) {
       $this->db->or_like($key);
    }
    $query = $this->db->get();

    //cek apakah ada barang
    if ($query->num_rows() > 0) {
        return $query->result();
    }
}

kemudian tambahkan sebuah function untuk menangani jumlah total field barang seperti dibawah ini :

function countbarang(){
    $query = $this->db->get($this->tabel)->num_rows();
    return $query;
}

selanjutnya buat sebuah function kembali untuk menangani jumlah total pencarian

function  countbarangsearch($orlike) {
    $this->db->or_like($orlike);
    $query = $this->db->get($this->tabel);

    return $query->num_rows();
}

3. Views

selanjutnya kita beralih ke tampilanya buka file vbarang.php pada folder application/views dan buat seperti dibawah ini :

<section>
<div class="container"> 
 <h1>Data Barang</h1>
  <a href="<?php echo base_url();?>barang/tambah" class="button">Tambah</a>
  <div class="pesan-sukses"><?php echo $this->session->flashdata("pesan");?></div>	
 <form action="<?php echo base_url();?>barang/cari/">
 <div class="inputgroup">
     <input name="key" value="" class="formcontrol" placeholder="Search" type="text" >
     <span class="input-group-btn">
        <button class="btn-default" type="submit">Cari</button>
     </span>
     <div class="clear"></div>
</div>
</form>
  <table class="table">
  	<tr>
  		<th>No</th>
  		<th>Kode</th>
  		<th>Barcode</th>
  		<th>Nama Barang</th>
  		<th>Harga </th>
  		<th>Jenis </th>
  		<th>Satuan </th>
  		<th>Stok </th>
  		<th>Keterangan </th>
  		<th></th>
  	</tr>
  	<?php if(!$querybarang){?>
  	 <tr><td colspan="9">Data Masih Kosong</td>	</tr>
  	<?php }else{
  	  $no =$jlhpage;	
  	  foreach ($querybarang as $rstbrg) {$no++;
  	?>
  	<tr>
  		<td><?php echo $no;?></td>
  		<td>#<?php echo $rstbrg->kode_brg;?></td>
  		<td><?php echo $rstbrg->barcode;?></td>
  		<td><?php echo $rstbrg->nama_brg;?></td>
  		<td><?php echo $rstbrg->harga_brg;?></td>
  		<td><?php echo $rstbrg->jenis;?></td>
  		<td><?php echo $rstbrg->satuan;?></td>
  		<td><?php echo $rstbrg->stok_brg;?></td>
  		<td><?php echo $rstbrg->keterangan;?></td>
  		<td><a href="<?php echo base_url()?>barang/edit/?id=<? echo $rstbrg->kode_brg;?>">Edit</a>
  			<a href="<?php echo base_url()?>barang/detail/?id=<? echo $rstbrg->kode_brg;?>">Detail</a>
  			<a onclick="return KonfirmasiHapus()" href="<?php echo base_url()?>barang/hapus/?id=<? echo $rstbrg->kode_brg;?>">Hapus</a>
  		</td>
  	</tr>
  	<?php }}?>
  </table>
  <div class="pagination">
  	<span class="pagination-btns">
          <?=$page_halaman?>
          <div class="clear"></div>
      </span>
        </div> 
</div>
</section>
<script type="text/javascript">
function KonfirmasiHapus() {
  return confirm("Apa anda yakin akan menghapus data ini?");
}
</script>


pada skrip vbarang.php saya tambahkan sebuah form untuk pencarian dan pada bagian panel-footer saya tambahkan variabel untuk paging nya.


4. Output

pada hasil akhirnya akan tampil seperti berikut


Tampilan halaman setelah di terapkan script diatas




Paging halaman 2


Pencarian dengan key meja


Demikian tutorial kali ini semoga bermanfaat.
Tetap ikuti artikel mengenani codeigniter di blog saya

0 comments:

Pada artikel sebelumnya Memulai Project CodeIgniter : Part 6 CRUD , kita lanjutkan kembali setelah kita buat controller nya mari kita buat ...

Memulai Project CodeIgniter : Part 6 CRUD bagian 2

Pada artikel sebelumnya Memulai Project CodeIgniter : Part 6 CRUD, kita lanjutkan kembali setelah kita buat controller nya mari kita buat sebuah model nya beri nama Mbarang.php dan simpan di folder ./application/models/ buat script nya seperti dibawah ini
<?php
class Mbarang extends CI_Model {
    var $tabel = 'tb_barang'; //variabel nama tabel

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

    function getallbarang() { //query semua data di tabel barang
        $this->db->from($this->tabel);
        $this->db->order_by('kode_brg','DESC');
        $query = $this->db->get();

        //cek apakah ada barang
        if ($query->num_rows() > 0) {
            return $query->result();
        }
    }

    function getbarangbyid($id) { //query berdasarkan id barang tabel barang

        $this->db->from($this->tabel);
        $this->db->where('kode_brg', $id);

        $query = $this->db->get();
        if ($query->num_rows() == 1) {
            return $query->row();
        }
    }

    function getinsert($data){ //query insert data
        $this->db->insert($this->tabel, $data);
        return TRUE;
    }

    function getupdate($id,$data) { //query update data
        $this->db->where('kode_brg', $id);
        $this->db->update($this->tabel, $data);
        return TRUE;
    }

    function delbarang($id) { //query hapus data
        $this->db->where('kode_brg', $id);
        $this->db->delete($this->tabel);
        if ($this->db->affected_rows() == 1) {
            return TRUE;
        }
        return FALSE;
    }
}
?>


selanjutnya kita akan membuat views  pada tampilannya kita akan membuat 3 halaman baru yaitu halaman barang vbarang.php, halaman form vformbarang.php dan halaman detail vdetailbarang.php agar lebih rapi saya buat dalam satu folder ./barang/ dan posisi nya di folder ./application/views/barang/ otomatis kita harus sesuaikan pemanggilan views di controller nya dengan menambahkan folder barang/_nama_views setiap memanggil views nya, bisa dilihat pada controllernya.

vbarang.php
<section>
<div class="container"> 
 <h1>Data Barang</h1>
  <a href="<?php echo base_url();?>barang/tambah" class="button">Tambah</a>
  <div class="pesan-sukses"><?php echo $this->session->flashdata("pesan");?></div>	
  <table class="table">
  	<tr>
  		<th>No</th>
  		<th>Kode</th>
  		<th>Barcode</th>
  		<th>Nama Barang</th>
  		<th>Harga </th>
  		<th>Jenis </th>
  		<th>Satuan </th>
  		<th>Stok </th>
  		<th>Keterangan </th>
  		<th></th>
  	</tr>
  	<?php if(!$querybarang){?>
  	 <tr><td colspan="9">Data Masih Kosong</td>	</tr>
  	<?php }else{
  	  $no =0;	
  	  foreach ($querybarang as $rstbrg) {$no++;
  	?>
  	<tr>
  		<td><?php echo $no;?></td>
  		<td>#<?php echo $rstbrg->kode_brg;?></td>
  		<td><?php echo $rstbrg->barcode;?></td>
  		<td><?php echo $rstbrg->nama_brg;?></td>
  		<td><?php echo $rstbrg->harga_brg;?></td>
  		<td><?php echo $rstbrg->jenis;?></td>
  		<td><?php echo $rstbrg->satuan;?></td>
  		<td><?php echo $rstbrg->stok_brg;?></td>
  		<td><?php echo $rstbrg->keterangan;?></td>
  		<td><a href="<?php echo base_url()?>barang/edit/?id=<? echo $rstbrg->kode_brg;?>">Edit</a>
  			<a href="<?php echo base_url()?>barang/detail/?id=<? echo $rstbrg->kode_brg;?>">Detail</a>
  			<a onclick="return KonfirmasiHapus()" href="<?php echo base_url()?>barang/hapus/?id=<? echo $rstbrg->kode_brg;?>">Hapus</a>
  		</td>
  	</tr>
  	<?php }}?>
  </table>
</div>
</section>
<script type="text/javascript">
function KonfirmasiHapus() {
  return confirm("Apa anda yakin akan menghapus data ini?");
}
</script>
 
 
vformbarang.php
<?php 
if($aksi=='aksi_tambah'){
	$kode = "";
	$bkode = @$abkode;
	$nama = @$anama;
	$harga = @$aharga;
	$stok = @$astok;
	$jenis = @$ajenis;
	$satuan = @$asatuan;
	$keterangan = @$aket;
}elseif($aksi=='aksi_edit'){
	$kode = $row->kode_brg;
	$bkode = $row->barcode;
	$nama = $row->nama_brg;
	$harga = $row->harga_brg;
	$stok = $row->stok_brg;
	$jenis = $row->jenis;
	$satuan = $row->satuan;
	$keterangan = $row->keterangan;
}
?>
<section>
<div class="container"> 
 <h1>Form Barang</h1>
 	<div class="form">
 	<div class="pesan-error"><?php echo $this->session->flashdata("pesan");?></div>	
	<form method="post" action="<?php echo base_url()?>barang/<?php echo $aksi;?>">	
		<label>Barcode Barang</label>
  		<input type="text" name="barcode" class="w4" value="<?php echo $bkode;?>">
  		<label>Nama Barang</label>
  		<input type="text" name="nama" value="<?php echo $nama;?>">
  		<label>Harga Barang</label>
  		<input type="text" name="harga" class="w3" value="<?php echo $harga;?>">
  		<label>Stok Barang</label>
  		<input type="text" name="stok" class="w3" value="<?php echo $stok;?>">
  		<label>Jenis</label>
  		<input type="text" name="jenis" class="w3" value="<?php echo $jenis;?>">
  		<label>Satuan</label>
  		<input type="text" name="satuan" class="w2" value="<?php echo $satuan;?>">
  		<label>Keterangan</label>
  		<textarea name="keterangan"><?php echo $keterangan;?></textarea>
  		<input type="submit" class="button" name="simpan" value="Simpan">
  		<a href="<?php echo base_url();?>barang" class="button2">Kembali</a>
  		<input type="hidden" name="kode" value="<?php echo $kode;?>">

  	</form>
  	
  </div>
</div>
</section>

vdetailbarang.php
<section>
<div class="container"> 
 <h1>Detail Barang</h1>
 <table>
 	<tr>
 		<td>Kode Barang</td>
 		<td>:</td>
 		<td>#<?php echo $rowbarang->kode_brg;?>
 	</tr>
 	<tr>
 		<td>Barcode Barang</td>
 		<td>:</td>
 		<td><?php echo $rowbarang->barcode;?>
 	</tr>
 	<tr>
 		<td>Nama Barang</td>
 		<td>:</td>
 		<td><?php echo $rowbarang->nama_brg;?>
 	</tr>
 	<tr>
 		<td>Stok</td>
 		<td>:</td>
 		<td><?php echo $rowbarang->stok_brg;?>
 	</tr>
 	<tr>
 		<td>Jenis</td>
 		<td>:</td>
 		<td><?php echo $rowbarang->jenis;?>
 	</tr>
 	<tr>
 		<td>Satuan</td>
 		<td>:</td>
 		<td><?php echo $rowbarang->satuan;?>
 	</tr>
 	<tr>
 		<td>Keterangan</td>
 		<td>:</td>
 		<td><?php echo $rowbarang->keterangan;?>
 	</tr>
 </table>
 <a href="<?php echo base_url()?>barang">Kembali</a>
</div>
</section>

style.css
untuk css tampilannya di edit saya buka file style.css pada folder ./assets/ dan buat seperti dibawah ini
body{
	color: #333;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:16px;
}
header{
	background: #111;
	padding: 20px;
}
header h3{
	float: left;
	color: #FFF;
}
header nav{
	float: right;
	margin-top: 10px;
}
header nav ul{
	padding: 0;	
	margin: 0;
}
header nav ul li{
	float: left;
	list-style: none;
}
header nav ul li a{
	padding: 15px;color: #fff;text-decoration: none;}
header nav ul li a:hover{color: yellow;}
footer{ background: #111;padding: 20px;color: #fff;}
footer a{color: #fff;text-decoration: none;}
footer a:hover{	color: yellow;}
section{padding: 20px;min-height: 300px;}
.clear{	clear: both;}
.container{margin: 0px auto;width: 1100px;}
.table {border-collapse: collapse; width: 100%;}
.table td, .table th {border: 1px solid #ddd;padding: 8px; font-size: 14px;}
.table tr:nth-child(even){background-color: #f2f2f2;}
.table tr:hover {background-color: #ddd;}
.table th { padding-top: 12px;padding-bottom: 12px;text-align: left;background-color: #4CAF50;color: white;}
.button {background-color: #F00;/* Green */border: none;color: white;padding: 10px 20px;
	text-align: center;text-decoration: none;display: inline-block;font-size: 16px;
	border-radius: 4px;
}
.button:hover{background-color: #FE0; color: #444;}
.button2{
	padding: 12px; text-align: center;background-color: #CCC;
	color: #666; text-decoration: none;
	display: inline-block;
	border-radius: 4px;
}
input[type=text], select ,textarea{
	width: 100%;
	padding: 12px 10px;
	margin: 8px 0;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

input[type=submit] {
	background-color: #4CAF50;
	color: white;
	padding: 14px 20px;
	margin: 8px 0;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}

input[type=submit]:hover {
	background-color: #45a049;
}
label{width: 100%!important; display: inline-block;}
.form {
	width: 50%;
	border-radius: 5px;
	background-color: #f2f2f2;
	padding: 20px;
}
.w1{
	width: 100%!important;
}
.w2{width: 50%!important;}
.w3{width: 33.33%!important;}
.w4{width: 25%!important;}
.w5{width: 12.5%!important;}
.w1:after,.w2:after,.w3:after,.w4:after,{clear: both!important;}
input[type=text]:after{clear: both;}
.pesan-error{color:#F00; padding: 10px; font-style: italic;}
.pesan-sukses{padding: 10px; color: #48C50A;font-style: italic;}

sampai disini kita sudah selesai membangun sebuah crud codeigniter mari kita lihat hasil nya

gambar tampilan ketika aplikasi diakses

Tampilan form ketika di klik tambah

Validasi muncul ketika kita klik simpan padahal form belum di isi

Tampilan data berhasil di tambah

Oke demikian tutorial mengenai crud codeigniter ini silakan dicoba berulang2 sampai mengerti dan jika terjadi error atau kesulitan bisa buat komentar.
Untuk demo dan source code nya bisa dilihat pada link dibawah ini

DEMO | Download

0 comments:

Salam koding, kembali lagi bersama saya di artikel mengenai codeigniter jika kita membahas membangun sebuah project berarti kita tidak lepas...

Memulai Project CodeIgniter : Part 6 CRUD

Salam koding, kembali lagi bersama saya di artikel mengenai codeigniter jika kita membahas membangun sebuah project berarti kita tidak lepas harus membuat yang nama pengelolaan data yaitu Create, Read ,Update dan Delete (CRUD) nah pada artikel kali ini kita akan bahas CRUD. Mari kita mulai


Persiapan

Untuk package codeigniter kita buat dari artikel-artikel sebelumnya kalo belum baca bisa dibaca dibawah ini :

Memulai Project CodeIgniter
Memulai Project CodeIgniter : Part 2
Memulai Project CodeIgniter : Part 3 Menghilangkan Index.php
Memulai Project CodeIgniter : Part 4 User Agent
Memulai Project CodeIgniter : Part 5 Template


Nah ambil artikel Memulai project CodeIgniter : Part 5 Tamplate, core packagenya dan script yang kita kerjakan sudah saya sisipkan dan bisa didownload pada link tersebut. Setelah didownload silakan di ekstrak lalu beri nama folder nya ./ci-crud (atau terserah kawan mau dibuat nama foldernya) kalo saran saya sih disamakan aja agar seragam dalam menjalankan projectnya nanti nya

Konfigurasi

config.php
Edit file config.php pada folder ./application/config/ buat seperti script dibawah
$config['base_url'] = '';
atau
$config['base_url'] = 'ci-projectpertama';

ubah menjadi

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

script diatas berfungsi mengambil nama folder project kita secara otomatis, jadi kita tidak usah capek lagi mengubahnya base url nya sesuai domain jika suatu saat nanti akan upload ke project kita hostingan.

autoload.php
kemudian masi pada folder ./application/config/ buka file autoload.php 
pada bagian libarary

$autoload['libraries'] = array();
ubah menjadi
$autoload['libraries'] = array('database');

selanjutnya pada bagian helper buat seperti berikut
$autoload['helper'] = array('url','form'); 

kemudian pada bagian model buat seperti ini
$autoload['model'] = array('mbarang'); 

pada file autoload ini setiap yang kita includekan berarti ini akan otomatis di load pada class project kita nantinya

routes.php
selanjutnya masi difolder ./application/config/ buka file routes.php ubah seperti dibawah ini
$route['default_controller'] = 'welcome';
ubah menjadi
$route['default_controller'] = 'barang';
baris ini akan mengatur default controller yang akan diakses dimana pada script akan otomatis memanggil controller barang.

database.php
selanjutnya konfigurasi database, buka file database.php pada folder ./application/config/ settingan sesuaikan dengan webserver yang kawan2 punya, seperti pada settingan server saya seperti dibawah ini

$db['default'] = array(
  'dsn'      => '',
  'hostname' => 'localhost',
  'username' => 'root',
  'password' => '',
  'database' => 'db_crud',
  'dbdriver' => 'mysqli',
  'dbprefix' => '',
  'pconnect' => FALSE,
  'db_debug' => (ENVIRONMENT !== 'production'),
  'cache_on' => FALSE,
  'cachedir' => '',
  'char_set' => 'utf8',
  'dbcollat' => 'utf8_general_ci',
  'swap_pre' => '',
  'encrypt'  => FALSE,
  'compress' => FALSE,
  'stricton' => FALSE,
  'failover' => array(),
  'save_queries' => TRUE
);

Implementasi

Database
Buat database terlebih beri nama db_crud lalu copykan query dibawah ini
CREATE TABLE `tb_barang` (
  `kode_brg` int(5) NOT NULL AUTO_INCREMENT,
  `barcode` varchar(20) NOT NULL,
  `nama_brg` varchar(150) NOT NULL,
  `harga_brg` int(10) NOT NULL,
  `keterangan` tinytext NOT NULL,
  `jenis` varchar(30) DEFAULT NULL,
  `satuan` varchar(30) DEFAULT NULL,
  `stok_brg` int(5) DEFAULT NULL,
  PRIMARY KEY (`kode_brg`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1

Controller
Lalu buat sebuah controller dan beri nama Barang.php dan buat script seperti dibawah ini
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Barang extends CI_Controller {
/******************************************************
  | CRUD barang
  | controller barang view, create, update, delete
  | by gTech
  *****************************************************/
  public function __construct() {
    parent::__construct();
  }
  
    //fungsi awal ketika kita panggil controller barang
  public function index(){
      $data['judul'] = 'CRUD CodeIgniter Studi Kasus Barang'; //judul title
      $data['querybarang'] = $this->mbarang->getallbarang(); //model semua barang
      
      //template views
      $this->load->view('header',$data);
      $this->load->view('barang/vbarang',$data); //load views vbarang
      $this->load->view('footer',$data);
    }
    //fungsi form tambah ketika kita panggil pada link 
    public function tambah(){     
      $data['judul'] = 'Tambah barang';
      $data['aksi'] = 'aksi_tambah';

        //template views
      $this->load->view('header',$data);
      $this->load->view('barang/vformbarang',$data);
      $this->load->view('footer',$data);
    }
    //fungsi form edit ketika kita panggil pada link
    public function edit(){
      $id = $this->input->get('id');
      $data['row'] = $this->mbarang->getbarangbyid($id);
      $data['judul'] = 'Edit barang';
      $data['aksi']  = 'aksi_edit';

        //template views
      $this->load->view('header',$data);
      $this->load->view('barang/vformbarang',$data);
      $this->load->view('footer',$data);
    }
    //fungsi untuk menangani pemanggilan aksi tambah ketika form barang di submit
    public function aksi_tambah(){
        //deklarasikan variabel dari form
      $barcode     = addslashes($this->input->post('barcode'));
      $nama     = addslashes($this->input->post('nama'));
      $jenis     = addslashes($this->input->post('jenis'));
      $keterangan    = addslashes($this->input->post('keterangan'));
      $satuan        = addslashes($this->input->post('satuan'));
      $harga        = addslashes($this->input->post('harga'));
      $stok        = addslashes($this->input->post('stok'));

        //validasi 
        $this->form_validation->set_rules('barcode', 'Barcode Barang', 'required'); //kode
        $this->form_validation->set_rules('nama', 'Nama Barang', 'required'); //nama
        $this->form_validation->set_rules('jenis', 'Jenis Barang', 'required'); //jenis
        if ($this->form_validation->run() == TRUE) {
          $data = array(
            'barcode'   => $barcode,
            'nama_brg'  => $nama,
            'harga_brg' => $harga,
            'keterangan'=> $keterangan,
            'satuan'    => $satuan,
            'jenis'     => $jenis,
            'stok_brg'  => $stok
          );
          $this->mbarang->getinsert($data); //model insert data barang
          $this->session->set_flashdata("pesan", "Data berhasil di insert"); //pesan yang tampil setalah berhasil di insert
          redirect('barang');
        }else{
          //ini berfungsi agar field form tidak menjadi kosong, dibuat dalam array
          //variabel akan tetap dibawa jika error terjadi pada saat validasi
          $info = array(
            'abkode'=>$barcode,
            'anama'=>$nama,
            'aharga'=>$harga,
            'asatuan'=>$satuan,
            'ajenis'=>$jenis,
            'astok'=>$stok,
            'aket'=>$keterangan,
            'judul' => 'Tambah barang',
            'aksi' => 'aksi_tambah'

          );
          $err = validation_errors(); //error validasi akan dimunculkan pada pesan

          $this->session->set_flashdata("pesan", "Data Gagal di insert
".$err);

          //ketika error terjadi halaman akan tetap di form barang
          $this->load->view('header',$info); 
          $this->load->view('barang/vformbarang',$info);
          $this->load->view('footer',$info); 
        }
      }

    //fungsi untuk menangani pemanggilan aksi edit ketika form barang di submit
    public function aksi_edit(){
      //ambil variabel dari form
        $kode       = addslashes($this->input->post('kode'));
        $barcode     = addslashes($this->input->post('barcode'));
        $nama     = addslashes($this->input->post('nama'));
        $jenis     = addslashes($this->input->post('jenis'));
        $keterangan    = addslashes($this->input->post('keterangan'));
        $satuan        = addslashes($this->input->post('satuan'));
        $harga        = addslashes($this->input->post('harga'));
        $stok        = addslashes($this->input->post('stok'));

        $data = array(
          'barcode'   => $barcode,
          'nama_brg'  => $nama,
          'harga_brg' => $harga,
          'keterangan'=> $keterangan,
          'satuan'    => $satuan,
          'jenis'     => $jenis,
          'stok_brg'  => $stok
        );
        $this->mbarang->getupdate($kode,$data); //modal update data barang
        $this->session->set_flashdata("pesan", "Data berhasil diupdate"); //pesan yang tampil setelah berhasil di update
        redirect('barang'); 
    }
    //fungsi untuk menangani pemanggilan link detail barang
    public function detail(){ //dengan membawa variabel id
      $id = $this->input->get('id');
        $data['judul'] = 'Detail Barang'; //judul title
        $data['rowbarang'] = $this->mbarang->getbarangbyid($id); //query model barang sesuai id
        //template views
        $this->load->view('header',$data);
        $this->load->view('barang/vdetailbarang',$data); //meload views detail barang
        $this->load->view('footer',$data);
      }
    //fungsi untuk menangani apabila hapus barang
    public function hapus(){
        $id = $this->input->get('id'); //variabel id dari url
        $this->mbarang->delbarang($id);
        $this->session->set_flashdata("pesan", "Barang berhasil dihapus");
        redirect('barang');
    }
}

/* End of file barang.php */
/* Location: ./application/controllers/barang.php */

pada script saya buatkan juga komentar keterangan agar lebih mudah dipahami

bersambung ke bagian 2 Memulai Project CodeIgniter : Part 6 CRUD bagian 2

0 comments:

Pernahkah  sobat melihat testimonial yang berbaganti-ganti secara statis pada tampilan awal sebuah website? Jika belum pernah kali saya akan...

Membuat Text Slider Testimonial dengan JQuery Cycle Plugin

Pernahkah  sobat melihat testimonial yang berbaganti-ganti secara statis pada tampilan awal sebuah website? Jika belum pernah kali saya akan berbagi artikel tentang slider text dengan jquery Cycle Plugin.

Testimonial kita ketahui sangat perlu dibuat pada sebuah website sebagai feedback kita dapatkan dari publik tentang produk ataupun perusahaan kita. Baik mari kita mulai

Langkah 1 : Buat database


CREATE TABLE `testimonial` (
`idtest` INT( 5 ) NOT NULL AUTO_INCREMENT ,
`nama` VARCHAR( 30 ) NOT NULL ,
`isitest` TEXT NOT NULL ,
`kota` VARCHAR(20) NOT NULL ,
PRIMARY KEY ( `idtest` )
) ENGINE = MYISAM ;
 

kemudian insertkan datanya seperti dibawah ini

INSERT INTO `testimonial` (`idtest` ,`nama` ,`isitest` ,`kota`) VALUES 
( '' , 'GooLanz', 'Terkadang didalam hidup, seseorang harus bersedia mundur selangkah untuk mempersiapkan diri melangkah kedepan.', 'Medan' ), 
( '', 'Agus Han', 'Seorang pemenang itu ibarat rajawali yang mengepakan sayapnya terbang di angkasa menerjang segala rintangan.', 'Papua'), 
( '', 'Budi', 'Sebagai pemimpin, kita hidup bagaikan dibawah mikroskop. Segala hal yang kita lakukan atau katakana, tidak terlepas dari pengamatan pengikut kita.', 'Makassar'), 
('', 'Faber', 'Kebahagian tidak datang begitu saja. tidak ada orang yang dikaruniai kebahagian. kita harus mencari kebahagian kita sendiri, melauli sikap berpikir kita dan kesediaan kita untuk bersyukur.', 'Medan');
 

Langkah 2 : Download Plugin Cycle dan JQuery


Jquery bisa didownload di website jquery.com sedangkan untuk plugin cyclenya bisa disini

Langkah 3 : Style CSS


untuk mempercantik tampilanya buat skrip untuk style cssnya, beri nama style.css

/* CSS Document */
#testimonials {
width:500px;
background:#E7E9E6 ;
border:1px solid #D8D9D6;
margin:5px 0 ; height:auto;
}
#blockquote{
padding:5px;
width:400px; height:auto;
font-family:Georgia, "Times New Roman", Times, serif;
font-style:italic;
color:#808080;
}
 
#isi{ text-align:justify;
    padding:10px; width:380px;
}
#cite {
font-style: normal;
display: block;
 
text-transform: uppercase;
font-weight: bold;
font-style:italic;
color: #555;
padding-left:5px;
margin-top:10px;
}

Langkah 4 : Buat file tampilan slider


Untuk tampilannya beri nama testimonial.php, buat seperti skrip dibawah ini

<?php
//menghilangkan pesan error
//jika ingin ditampilkan kasi komentar saja
error_reporting(0);

//koneksi server
mysql_connect("localhost","root","password");
mysql_select_db("nama_database");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- include jQuery library -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<!-- include Cycle plugin -->
<script type="text/javascript" src="js/jquery.cycle.all.latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
   $('#testimonials')
 .before('<div id="nav">')
 .cycle({
        fx: 'fade', // bisa anda pilih tipe transition, contoh : fade, scrollUp, scrollRight, shuffle
  pager:  '#nav'
     });
});
</script>
<link href="style.css" type="text/css" media="screen" rel="stylesheet" />
<title>Slider Testimonials With jQuery Cycle</title>
</head>

<body>
<? $mysql=mysql_query("SELECT*FROM testimonial");?>
<h1>Slider Testimonials With jQuery Cycle</h1>
<div id="testimonials">
 <? while($qMysql=mysql_fetch_array($mysql)){?>
 <div id="blockquote">
    <div id="isi">"<?php print $qMysql[2];?>"</div>
       <div id="cite">&ndash;<?=$qMysql[1]?> - <?=$qMysql[3]?></div>
    
  </div>
 <? }?>
</div><!--end testimonials-->
</body>
</html>


Gambar Tampilan output yang diihasilkan dari skrip diatas.

Demikian tutorial kali ini semoga bermanfaat.

Source Code

0 comments:

Pada CodeIgniter pembuatan template cukup mudah dan penggunaan menggunakan metode include yang akan menghasilkan halaman yang dinamis tanpa ...

Memulai Project CodeIgniter : Part 5 Menggunakan Template

Pada CodeIgniter pembuatan template cukup mudah dan penggunaan menggunakan metode include yang akan menghasilkan halaman yang dinamis tanpa harus mengulang-ulang script. Jadi bagian struktur website kita bagi menjadi 3 bagian yaitu header, content, dan footer.  Untuk lebih jelas kita langsung mulai.

Kita lanjutkan dari project sebelumnya jika belum membaca silakan dibaca pada link dibawah

Memulai Project CodeIgniter
Memulai Project CodeIgniter : Part 2
Memulai Project CodeIgniter : Part 3 Menghilangkan Index.php


pertama buka file config.php pada folder ./application/config/ kemudian ubah pad bagian berikut
$config['base_url'] = '';
 
ubah menjadi
$config['base_url'] = 'http://localhost/ci-projectpertama/';
 
atau sesuaikan dengan nama folder project anda


kemudian kita buat sebuah controller beri nama Chome.php pada folder application/controllers/ dan tuliskan script berikut

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Chome extends CI_Controller{

 function __construct(){
  parent::__construct();
  $this->load->helper('url'); //kita load helper url karena kita akan menggunakan dalam pemanggilan url seperti link ke menu lain, pemanggilan style css dll
 }

 public function index(){
  $data['judul'] = "Template Codeigniter"; //kita deklrasikan variabel judul
  $this->load->view('vhome',$data); // template view vhome kita panggil dengan membawa array $data
 }
}
/* End of file Chome.php */
/* gtech labs
/* Location: ./application/controllers/Chome.php */
 

Kemudian buat sebuah file view, beri nama vhome.php tempatkan di folder ./application/views/ dan tuliskan script berikut
<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title><?=$judul?></title> 
 <link rel="stylesheet" type="text/css" href="<?php echo base_url()?>assets/style.css">
</head>
<body>
 <header>
 <div class="container"> 
 <h3><?php echo $judul;?></h3>
  <nav>
  <ul>
   <li><a href="<?php echo base_url().'chome' ?>">Home</a></li>
   <li><a href="<?php echo base_url().'chome/about' ?>">Tentang</a></li>
  </ul>
  </nav>
   <div class="clear"></div>
   </div>
  </header>
  <section>
   <div class="container"> 
  <h1></h1>
  <p>
   Selamat datang di project pertama codeigniter.<br>
   Pada tutorial kali kita akan membuat templating pada codeigniter<br>
   <b>Header, Content, Footer</b>
  </p>
  </div>
  </section>
  <footer> 
  <div class="container">      
   <a href="https://www.fabernainggolan.com">gTech Labs</a>
   </div>  
  </footer>
 
</body>
</html>

kemudian tambahkan script css nya beri nama style.css dan tambahkan/buat folder diroot beri nama ./assets/ 

body{color: #333; font-family: Arial; font-size:16px; }
header{ background: #111; padding: 20px; }
header h3{ float: left; color: #FFF; } 
header nav{ float: right; margin-top: 10px; }
header nav ul{  padding: 0; margin: 0; }
header nav ul li{ float: left; list-style: none; }
header nav ul li a{ padding: 15px; color: #fff; text-decoration: none; }
header nav ul li a:hover{ color: yellow; }
footer{ background: #111; padding: 20px; }
footer a{ color: #fff; text-decoration: none; }
section{ padding: 20px; min-height: 300px; }
.clear{ clear: both; }
.container{ margin: 0px auto; width: 1100px;}
 
nah setelah script selesai kita tulis mari kita jalankan di browser maka tampil output nya seperti gambar dibawah ini:



nah pada script vhome.php diatas kita telah membuat templatenya secara keseluruhan, kemudian agar template nantinya menjadi dinamis kita akan memecah bagian tag html vhome.php tersebutnya menjadi 3 bagian, yaitu header.php, vhome.php dan footer.php

Untuk header.php buat seperti berikut

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title><?=$judul?></title> 
 <link rel="stylesheet" type="text/css" href="<?php echo base_url()?>assets/style.css">
</head>
<body>
<header>
 <div class="container"> 
 <h3><?php echo $judul;?></h3>
 <nav>
  <ul>
   <li><a href="<?php echo base_url().'chome' ?>">Home</a></li>
   <li><a href="<?php echo base_url().'chome/about' ?>">Tentang</a></li>
  </ul>
 </nav>
 <div class="clear"></div>
 </div>
</header>
 

Untuk vhome.php modifikasi seperti berikut :

<section>
<div class="container"> 
 <h1></h1>
 <p>
  Selamat datang di project pertama codeigniter.<br>
  Pada tutorial kali kita akan membuat templating pada codeigniter<br>
  <b>Header, Content, Footer</b>
 </p>
</div>
</section>
 

dan untuk footer.php buat seperti berikut

<footer> 
 <div class="container">      
  <a href="https://www.fabernainggolan.com">gTech Labs</a> &copy; 2018
 </div>  
</footer> 
</body>
</html>
 

Kemudian pada controller Chome.php nya kita modifikasi sedikit kita tambahkan lagi beberapa script buat seperti berikut :

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Chome extends CI_Controller{

 function __construct(){
  parent::__construct();
  $this->load->helper('url'); //kita load helper url karena kita akan menggunakan dalam pemanggilan url seperti link ke menu lain, pemanggilan style css dll
 }

 public function index(){
  $data['judul'] = "Halaman Beranda"; //kita deklrasikan variabel judul
  $this->load->view('header',$data); // template header  
  $this->load->view('vhome',$data); // template vhome, nah pada bagian ini yang akan berubah ubah nanti disesuaikan dengan template yg pengen dibuat
  $this->load->view('footer',$data); // template footer 
 }
}
/* End of file Chome.php */
/* gtech labs
/* Location: ./application/controllers/Chome.php */
 


Nah jika kita menambahkan page untuk about maka kita tinggal menambahkan sebuah view untuk about, contoh kita buat nama filenya vabout.php  dan ditempatkan di folder /application/views/ buat script seperti dibawah

<section>
 <div class="container"> 
  <h1></h1>
  <p>
   Ini adalah About.<br>
   Selamat datang dihalaman about
  </p>
 </div>
</section>
   
 

kemudian tambahkan script dibawah ini pada controller Chome.php untuk menangani pemanggilan class about nanti nya

public function about(){
 $data['judul'] = "Halaman About"; //kita deklrasikan variabel judul
 $this->load->view('header',$data); // template header
 $this->load->view('vabout',$data); // template vabout
 $this->load->view('footer',$data); // template footer
}
 

dan berikut script lengkap contoller Chome.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Chome extends CI_Controller{

 function __construct(){
  parent::__construct();
  $this->load->helper('url'); //kita load helper url karena kita akan menggunakan dalam pemanggilan url seperti link ke menu lain, pemanggilan style css dll
 }

 public function index(){
  $data['judul'] = "Halaman Beranda"; //kita deklrasikan variabel judul
  $this->load->view('header',$data); // template header  
  $this->load->view('vhome',$data); // template vhome, nah pada bagian ini yang akan berubah ubah nanti disesuaikan dengan template yg pengen dibuat
  $this->load->view('footer',$data); // template footer 
 }
 public function about(){
  $data['judul'] = "Halaman About"; //kita deklrasikan variabel judul
  $this->load->view('header',$data); // template header
  $this->load->view('vabout',$data); // template vabout
  $this->load->view('footer',$data); // template footer
 }
}
/* End of file Chome.php */
/* gtech labs
/* Location: ./application/controllers/Chome.php */
 

Setelah selesai maka coba jalankan dibrowser dan hasilnya akan muncul seperti gambar dibawah
gambar halaman home/beranda

gambar halaman about/tentang


Untuk source code dari Part 1 sampai dengan Part 5 bisa didownload pada link dibawah 


Demikian artikel kali ini semoga bermanfaat...
Terima kasih telah berkunjung :D

Sumber Referensi :
1. https://www.codeigniter.com/user_guide/
2. https://www.w3schools.com/css/default.asp

0 comments:

Halo sobat, kembali kita lanjut dalam pembahasan codeigniter pada artikel kali ini, bagi sobat yang belum baca artikel awal mengenai codeign...

Memulai Project Codeigniter : Part 4 User Agent

Halo sobat, kembali kita lanjut dalam pembahasan codeigniter pada artikel kali ini, bagi sobat yang belum baca artikel awal mengenai codeigniter bisa di baca pada link berikut sebab ini merupakan artikel lanjutan agar dalam implementasi scriptnya tidak bingung.

Memulai Project CodeIgniter
Memulai Project CodeIgniter : Part 2
Memulai Project CodeIgniter : Part 3 Menghilangkan Index.php

Nah apa itu user agent? User Agent adalah salah satu library yang disediakan oleh codeigniter untuk memberikan informasi user yang mengakses aplikasi atau website yang kita bangun seperti informasi browser, ip, platform dan sistem operas yang digunakan user yang mengakases.

Tanpa berlama-lama mari kita mulai
pertama pada tambahkan sebuah controller pada project kita beri nama Auser.php dan buat seperti dibawah.

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Auser extends CI_Controller{

 function __construct(){
  parent::__construct();  
  $this->load->library('user_agent');

 }

 function index(){
  if ($this->agent->is_browser()){
   $agent = $this->agent->browser().' '.$this->agent->version();
  }elseif ($this->agent->is_mobile()){
   $agent = $this->agent->mobile();
  }else{
   $agent = 'Data user gagal di dapatkan';
  }

  echo "Di akses dari : <br/>";
  echo "Browser = ". $agent . "<br/>"; //browser
  echo "Sistem Operasi = " . $this->agent->platform() ."<br/>"; 
  // Informasi Platform  seperti Windows, Linux, Mac, dll
  echo "IP = " . $this->input->ip_address(); 
  //ip hanya muncul pada hosting
 }
}
/* End of file Auser.php */
/* gtech labs
/* Location: ./application/controllers/Auser.php */

 

Penjelasannya
- pada construct nya kita insert kan load library user_agent
- kemudian pada halaman awalnya ( function index()) kita deklasikan varibel untuk menampilkan informasi yang kita ingin seperti browser nya, Os dan IP
- pada contoller diatas kita tidak menggunakan view, dan langsung kita echo kan pada controller hasilnya.

Berikut outputnya jika jalankan di browser



dan library user_agen dapat kita modifikasi dan tingkat untuk menampilkan statistik website

Demikian artikel kali semoga bermanfaat, tetap ikuti artikel mengenai codeigniter pada blog ini
Terimakasih.

0 comments:

Kembali melanjutkan tutorial mengenai memulai Project baru pada CodeIgniter kali ini kita akan membahas mengenai index.php yang ada pada url...

Memulai Project CodeIgniter : Part 3 Menghilangkan Index.php

Kembali melanjutkan tutorial mengenai memulai Project baru pada CodeIgniter kali ini kita akan membahas mengenai index.php yang ada pada url bar browser saat kita akses url project kita. Bagi yang belum membaca Part 1 dan Part 2 Memulai project codeigniter bisa baca pada link dibawah

Memulai Project CodeIgniter
Memulai Project CodeIgniter : Part 2


Jika belum paham maksud dari judul artikel ini, berikut gambar

nah pada gambar terlihat kita harus menambahkan index.php sebelum nama contoller chello agar hasilnya muncul. Jika controller kita panggil tanpa index.php maka akan muncul tulisan "object not found" nah kita akan bahas agar controller bisa dipanggil tanpa harus mengikutkan index.php

Pertama buka file config.php pada folder application/config dan edit pada bagian seperti dibawah
pada baris
$config['index_page'] ='index.php';

ubah nilai menjadi kosong
$config['index_page'] ='';

Kemudian tambahkan sebuah file .htaccess pada root folder aplikasi kita dan silakan buat seperti berikut
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
 

Dan ketika kita jalankan di browser



Nah sekian untuk artikel kali, tetap ikuti tutorial tentang codeigniter di blog ini 

0 comments:

Berjumpa kembali di Blog saya, kali saya akan share sedikit mengenai timestamp format time pada mysql. Kita ketahui bersama bahwa time merup...

Cara Convert Timestamp ke Date dan Format Time pada MySQL

Berjumpa kembali di Blog saya, kali saya akan share sedikit mengenai timestamp format time pada mysql. Kita ketahui bersama bahwa time merupakan fungsi di php yang mengenerated tanggal waktu menjadi integer. Baik kita akan membahasnya selamat membaca dan mencoba.



Coba jalan sintax berikut di console mysql

SELECT from_unixtime(unix_timestamp()); 

output dari perintah diatas adalah :

SELECT from_unixtime(unix_timestamp())
----------------------------------------------------
2014-09-05 02:15:43            



SELECT from_unixtime(field_timestamp) from tbl_name ;

dan sintak diatas untuk sebuah timestamp yang ada pada tabel di database.

1. Mengekstrak hanya tanggal dari timestamp yang ada di mysql


sebuah trik sebelum kita masuk ke table mysql format standarnya adalah DATE(FROM_UNIXTIME(timestamp)). Baik sekarang mari kita masukkan ke sebuah sintak menggunakan table di database.

SELECT DATE( FROM_UNIXTIME( unix_timestamp() ) )

SELECT DATE( FROM_UNIXTIME( logintime ) ) from tbllogin;

Maka output dari sintak diatas adalah sebagai berikut

2014-09-05

2. Mengekstrak hanya waktu dari timestamp yang ada di mysql


Perintah dasar untuk menampilkannya adalah TIME(FROM_UNIXTIME(timestamp)) . Kembali kita coba di mysql maka sintak nya adalah

SELECT TIME(FROM_UNIXTIME(unix_timestamp()))

dan jika ingin coba hanya ingin menampilkan jam

SELECT HOUR(FROM_UNIXTIME(unix_timestamp()))



3. Fungsi DATE_FORMAT() di mysql


Syntax:
DATE_FORMAT(date,format)

Sintak diatas akan menkonversi format date sesuai dengan keinginan kita. Mari kita coba

SELECT DATE_FORMAT(FROM_UNIXTIME(unix_timestamp()),'%H:%i:%s');

maka output diatas akan muncul hanya jam menit dan detik seperti dibawah

02:45:12



SELECT DATE_FORMAT(FROM_UNIXTIME(unix_timestamp()),'%d:%m:%Y');

output sintak diatas akan menampilkan tanggal bulan dan tahun

05-09-2014


Sekian tulisan kali ini, semoga bermanfaat :)

0 comments: