CodeIgniter – Susantokun https://www.susantokun.com Situs Edukasi, Tips dan Tutorial Sat, 14 Mar 2020 16:38:07 +0000 id-ID hourly 1 https://wordpress.org/?v=5.3.2 Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniter https://www.susantokun.com/tutorial-template-dinamis-dan-integrasi-adminlte-dengan-codeigniter/ https://www.susantokun.com/tutorial-template-dinamis-dan-integrasi-adminlte-dengan-codeigniter/#respond Fri, 13 Mar 2020 17:06:40 +0000 https://www.susantokun.com/?p=2338 Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniter – Susantokun. Pada artikel kali ini kita akan belajar cara membuat template yang dinamis dimana template yang digunakan adalah adminlte versi 2.4.3 dan kita integrasikan dengan framework codeigniter. Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniter 1. Download codeigniter versi 3.1.11 di CodeIgniter 2. Ekstrak hasil download …

The post Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniter appeared first on Susantokun.

]]>
Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniterTutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniterSusantokun. Pada artikel kali ini kita akan belajar cara membuat template yang dinamis dimana template yang digunakan adalah adminlte versi 2.4.3 dan kita integrasikan dengan framework codeigniter.

Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniter

1. Download codeigniter versi 3.1.11 di CodeIgniter

2. Ekstrak hasil download tadi ke folder htdocs atau folder khusus coding

3. Ganti nama folder menjadi ci-adminlte kemudian buka di text editor

4. Tambahkan libraries dan helper application/config/autoload.php

Code awal :

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

Ganti dengan code berikut :

$autoload['libraries'] = array('session','form_validation','template');
$autoload['helper'] = array('url','form','file');
Keterangan :
Pada libraries terdapat “template” dimana ini adalah pemanggilan class Template yang ada di application/libraries/Template.php

5. Ganti base_url menjadi dinamis, buka application/config/config.php

Code awal :

$config['base_url'] = '';
Ganti dengan code berikut :
$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']);
6. Buat file di application/libraries/Template.php dan masukkan code berikut :
<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Template
{
    var $template_data = array();
    function set($name, $value){
        $this->template_data[$name] = $value;
    }

    function load($template = '', $view = '' , $view_data = array(), $return = FALSE){
        $this->CI =& get_instance();
        $this->set('contents', $this->CI->load->view($view, $view_data, TRUE));
        return $this->CI->load->view($template, $this->template_data, $return);
    }
}
Keterangan :
Code di atas adalah code yang digunakan untuk membuat pemanggilan template menjadi dinamis

7. Buka application/controllers/Welcome.php, function index() ganti dengan code berikut :

public function index()
	{
		$this->template->load('layouts/template', 'welcome_message');
	}

Keterangan :
$this->template->load(); adalah code yang kita buat core nya pada langkah 7
layouts/template adalah pemanggilan kerangka template yang akan digunakan, sedangkan welcome_message adalah isi atau contentnya.

8. Buka application/views/welcome_message.php, ganti dengan code berikut :

<section class="content-header">
      <h1>
        Dashboard
        <small>Version 2.0</small>
      </h1>
      <ol class="breadcrumb">
        <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
        <li class="active">Dashboard</li>
      </ol>
    </section>

    <!-- Main content -->
    <section class="content">
      <!-- Info boxes -->
      <div class="row">
        <div class="col-md-3 col-sm-6 col-xs-12">
          <div class="info-box">
            <span class="info-box-icon bg-aqua"><i class="ion ion-ios-gear-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">CPU Traffic</span>
              <span class="info-box-number">90<small>%</small></span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
        </div>
        <!-- /.col -->
        <div class="col-md-3 col-sm-6 col-xs-12">
          <div class="info-box">
            <span class="info-box-icon bg-red"><i class="fa fa-google-plus"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">Likes</span>
              <span class="info-box-number">41,410</span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
        </div>
        <!-- /.col -->

        <!-- fix for small devices only -->
        <div class="clearfix visible-sm-block"></div>

        <div class="col-md-3 col-sm-6 col-xs-12">
          <div class="info-box">
            <span class="info-box-icon bg-green"><i class="ion ion-ios-cart-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">Sales</span>
              <span class="info-box-number">760</span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
        </div>
        <!-- /.col -->
        <div class="col-md-3 col-sm-6 col-xs-12">
          <div class="info-box">
            <span class="info-box-icon bg-yellow"><i class="ion ion-ios-people-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">New Members</span>
              <span class="info-box-number">2,000</span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
        </div>
        <!-- /.col -->
      </div>
      <!-- /.row -->

      <!-- Main row -->
      <div class="row">
        <!-- Left col -->
        <div class="col-md-8">
         
		   <!-- TABLE: LATEST ORDERS -->
          <div class="box box-info">
            <div class="box-header with-border">
              <h3 class="box-title">Latest Orders</h3>

              <div class="box-tools pull-right">
                <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>
                </button>
                <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button>
              </div>
            </div>
            <!-- /.box-header -->
            <div class="box-body">
              <div class="table-responsive">
                <table class="table no-margin">
                  <thead>
                  <tr>
                    <th>Order ID</th>
                    <th>Item</th>
                    <th>Status</th>
                    <th>Popularity</th>
                  </tr>
                  </thead>
                  <tbody>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR9842</a></td>
                    <td>Call of Duty IV</td>
                    <td><span class="label label-success">Shipped</span></td>
                    <td>
                      <div class="sparkbar" data-color="#00a65a" data-height="20">90,80,90,-70,61,-83,63</div>
                    </td>
                  </tr>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR1848</a></td>
                    <td>Samsung Smart TV</td>
                    <td><span class="label label-warning">Pending</span></td>
                    <td>
                      <div class="sparkbar" data-color="#f39c12" data-height="20">90,80,-90,70,61,-83,68</div>
                    </td>
                  </tr>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR7429</a></td>
                    <td>iPhone 6 Plus</td>
                    <td><span class="label label-danger">Delivered</span></td>
                    <td>
                      <div class="sparkbar" data-color="#f56954" data-height="20">90,-80,90,70,-61,83,63</div>
                    </td>
                  </tr>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR7429</a></td>
                    <td>Samsung Smart TV</td>
                    <td><span class="label label-info">Processing</span></td>
                    <td>
                      <div class="sparkbar" data-color="#00c0ef" data-height="20">90,80,-90,70,-61,83,63</div>
                    </td>
                  </tr>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR1848</a></td>
                    <td>Samsung Smart TV</td>
                    <td><span class="label label-warning">Pending</span></td>
                    <td>
                      <div class="sparkbar" data-color="#f39c12" data-height="20">90,80,-90,70,61,-83,68</div>
                    </td>
                  </tr>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR7429</a></td>
                    <td>iPhone 6 Plus</td>
                    <td><span class="label label-danger">Delivered</span></td>
                    <td>
                      <div class="sparkbar" data-color="#f56954" data-height="20">90,-80,90,70,-61,83,63</div>
                    </td>
                  </tr>
                  <tr>
                    <td><a href="pages/examples/invoice.html">OR9842</a></td>
                    <td>Call of Duty IV</td>
                    <td><span class="label label-success">Shipped</span></td>
                    <td>
                      <div class="sparkbar" data-color="#00a65a" data-height="20">90,80,90,-70,61,-83,63</div>
                    </td>
                  </tr>
                  </tbody>
                </table>
              </div>
              <!-- /.table-responsive -->
            </div>
            <!-- /.box-body -->
            <div class="box-footer clearfix">
              <a href="javascript:void(0)" class="btn btn-sm btn-info btn-flat pull-left">Place New Order</a>
              <a href="javascript:void(0)" class="btn btn-sm btn-default btn-flat pull-right">View All Orders</a>
            </div>
            <!-- /.box-footer -->
          </div>
          <!-- /.box -->
          
          <!-- /.box -->
 
          <!-- /.row -->

        
        </div>
        <!-- /.col -->

        <div class="col-md-4">
          <!-- Info Boxes Style 2 -->
          <div class="info-box bg-yellow">
            <span class="info-box-icon"><i class="ion ion-ios-pricetag-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">Inventory</span>
              <span class="info-box-number">5,200</span>

              <div class="progress">
                <div class="progress-bar" style="width: 50%"></div>
              </div>
              <span class="progress-description">
                    50% Increase in 30 Days
                  </span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
          <div class="info-box bg-green">
            <span class="info-box-icon"><i class="ion ion-ios-heart-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">Mentions</span>
              <span class="info-box-number">92,050</span>

              <div class="progress">
                <div class="progress-bar" style="width: 20%"></div>
              </div>
              <span class="progress-description">
                    20% Increase in 30 Days
                  </span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
          <div class="info-box bg-red">
            <span class="info-box-icon"><i class="ion ion-ios-cloud-download-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">Downloads</span>
              <span class="info-box-number">114,381</span>

              <div class="progress">
                <div class="progress-bar" style="width: 70%"></div>
              </div>
              <span class="progress-description">
                    70% Increase in 30 Days
                  </span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
          <div class="info-box bg-aqua">
            <span class="info-box-icon"><i class="ion-ios-chatbubble-outline"></i></span>

            <div class="info-box-content">
              <span class="info-box-text">Direct Messages</span>
              <span class="info-box-number">163,921</span>

              <div class="progress">
                <div class="progress-bar" style="width: 40%"></div>
              </div>
              <span class="progress-description">
                    40% Increase in 30 Days
                  </span>
            </div>
            <!-- /.info-box-content -->
          </div>
          <!-- /.info-box -->
        </div>
        <!-- /.col -->
      </div>
      <!-- /.row -->
    </section>

9. Buat folder assets, folder ini berfungsi untuk menyimpan semua asset seperti image, js, css, dan template AdminLTE. Data dari assets bisa sobat download pada link di akhir artikel, kemudian ekstrak folder assets ke ci-adminlte.

10. Buat folder layouts global yang berada di application/views/layouts (link download ada di bawah dengan nama layouts-ci-adminlte)

Sekarang coba buka di browser localhost/ci-adminlte atau ci-adminlte.test

ci-adminlte

Jika tampilannya seperti gambar di atas maka sudah berhasil. Bagi yang ingin mendownload full source code nya bisa download di github susantokun.

Github Youtube assets-ci-adminlte layouts-ci-adminlte

Incoming search terms:

  • cara integrasi adminlte dengan codeigniter
  • template adminlte dengan codeigniter 3
  • codeigniter tutorial template dinamis

The post Tutorial Template Dinamis dan Integrasi AdminLTE dengan CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/tutorial-template-dinamis-dan-integrasi-adminlte-dengan-codeigniter/feed/ 0
Cara mengatasi time out limit saat import file excel di Codeigniter https://www.susantokun.com/cara-mengatasi-time-out-limit-saat-import-file-excel-di-codeigniter/ https://www.susantokun.com/cara-mengatasi-time-out-limit-saat-import-file-excel-di-codeigniter/#respond Sat, 21 Dec 2019 22:22:26 +0000 https://www.susantokun.com/?p=2470 Cara mengatasi time out limit saat import file excel di Codeigniter – Susantokun. Pada kesempatan kali ini mimintz akan memberikan tutorial dengan kasus ketika mengupload atau import file excel di codeigniter namun terdapat pemberitahuan “time out limit” yang disebabkan karena besarnya ukuran file excel sehingga ketika diimport akan membutuhkan proses yang lebih lama. Cara mengatasi …

The post Cara mengatasi time out limit saat import file excel di Codeigniter appeared first on Susantokun.

]]>
Cara mengatasi time out limit saat import file excel di CodeigniterCara mengatasi time out limit saat import file excel di CodeigniterSusantokun. Pada kesempatan kali ini mimintz akan memberikan tutorial dengan kasus ketika mengupload atau import file excel di codeigniter namun terdapat pemberitahuan “time out limit” yang disebabkan karena besarnya ukuran file excel sehingga ketika diimport akan membutuhkan proses yang lebih lama.

Cara mengatasi time out limit saat import file excel di Codeigniter sangat mudah, sobat hanya perlu menambahkan 18 huruf yang digabungkan menjadi suatu code sehingga menghasilkan perintah yang menyebabkan terjadinya suatu gelombang elektromagnetik disekitar -_-.

Tambahkan code berikut pada bagian import :

set_time_limit(0);
Contohnya seperti pada gambar dibawah :

time out limit codeigniter excel

Bagitulah tutorial Cara mengatasi time out limit saat import file excel di Codeigniter yang dapat mimintz sampaikan.

The post Cara mengatasi time out limit saat import file excel di Codeigniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-mengatasi-time-out-limit-saat-import-file-excel-di-codeigniter/feed/ 0
Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter https://www.susantokun.com/cara-menampilkan-data-dari-database-mysql-dengan-datatables-di-codeigniter/ https://www.susantokun.com/cara-menampilkan-data-dari-database-mysql-dengan-datatables-di-codeigniter/#respond Mon, 17 Dec 2018 18:21:17 +0000 https://www.susantokun.com/?p=2389 Setelah kita belajar tentang Cara Menggunakan DataTables di CodeIgniter dimana hanya menampilkan data yang bukan dari database, nah sekarang kita akan belajar bagaimana cara menampilkan data dari database mysql dengan datatables di codeigniter. Berikut adalah langkah-langkahnya : Ke-1 Buat Database dan TabelContoh membuat database db_susantokun_datatables dan tabel artikel yang berisi id, judul, isi. Ke-2 Buat Controllerpada …

The post Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter appeared first on Susantokun.

]]>
Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniterSetelah kita belajar tentang Cara Menggunakan DataTables di CodeIgniter dimana hanya menampilkan data yang bukan dari database, nah sekarang kita akan belajar bagaimana cara menampilkan data dari database mysql dengan datatables di codeigniter. Berikut adalah langkah-langkahnya :

Ke-1 Buat Database dan Tabel
Contoh membuat database db_susantokun_datatables dan tabel artikel yang berisi id, judul, isi.

Ke-2 Buat Controller
pada parent::__construct(); tambahkan :

$this->load->model('Artikel_model');

pada public function index() tambahkan :

$data['artikel'] = $this->Artikel_model->get_all();

Ke-3 Buat Model (nama model Artikel_model)

buat function get_all seperti dibawah ini :

public function get_all()
  {
    $this->db->select('*');
    $this->db->from('artikel);
    $this->db->order_by('id','asc');
    $query = $this->db->get();
    return $query->result();
  }

Ke-4 Buat View
Untuk view dan lengkapnya kamu bisa lihat video Tutorial Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter yang sudah saya buat.

The post Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-menampilkan-data-dari-database-mysql-dengan-datatables-di-codeigniter/feed/ 0
Cara Menggunakan DataTables di CodeIgniter https://www.susantokun.com/cara-menggunakan-datatables-di-codeigniter/ https://www.susantokun.com/cara-menggunakan-datatables-di-codeigniter/#respond Mon, 17 Dec 2018 17:34:11 +0000 https://www.susantokun.com/?p=2376 Tutorial Menggunakan DataTables di CodeIgniter – Susantokun. Haluuu haluuu … sudah lama saya tidak posting tentang framework codeigniter. Pada kesempatan kali ini saya akan membagi tutorial bagaimana cara menggunakan datatables di codeigniter. Namun sebelum itu kamu tau tidak apa itu datatables? Kalau belum tahu apa itu datatables maka simak sampai habis ya. Apa itu DataTables? …

The post Cara Menggunakan DataTables di CodeIgniter appeared first on Susantokun.

]]>

Tutorial Menggunakan DataTables di CodeIgniter – Susantokun. Haluuu haluuu … sudah lama saya tidak posting tentang framework codeigniter. Pada kesempatan kali ini saya akan membagi tutorial bagaimana cara menggunakan datatables di codeigniter. Namun sebelum itu kamu tau tidak apa itu datatables? Kalau belum tahu apa itu datatables maka simak sampai habis ya.

Apa itu DataTables? Apa Fungsi DataTables?

DataTables adalah suatu plugin berbasis jquery yang berfungsi untuk menampilkan data berupa tabel. Tabel yang dibuat dengan datatables banyak sekali fiturnya seperti searching, pagination, menampilkan jumlah data yang ada, membuat batasan dalam menampilkan data sesuai dengan yang kamu inginkan, membuat print pdf, print excel, menampilkan field sesuai yang kamu inginkan dan masih banyak lagi fungsi-fungsi yang bisa kamu tambahkan.

Cara Install dan Menggunakan DataTables

Cara Install atau menerapkannya terbilang mudah, baik itu untuk native ataupun pada framewrok seperti codeigniter. Kamu bisa lihat video Tutorial Menggunakan DataTables di CodeIgniter yang telah saya buat.

Dan untuk lebih lengkapnya kamu bisa kunjungi langsung situs resmi datatables disana banyak sekali fitur-fitur yang bisa kamu coba untuk customize table.

The post Cara Menggunakan DataTables di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-menggunakan-datatables-di-codeigniter/feed/ 0
Cara upload foto di CodeIgniter https://www.susantokun.com/cara-upload-foto-di-codeigniter/ https://www.susantokun.com/cara-upload-foto-di-codeigniter/#comments Sat, 01 Sep 2018 02:49:16 +0000 https://www.susantokun.com/?p=2291 Cara upload foto di CodeIgniter – Susantokun. Maksud dari artikel ini adalah cara untuk upload gambar di ci, upload file ke database dengan ci, upload file di codeigniter yang artinya pada kasus kali ini mimin akan memberikan source code cara upload foto di codeigniter disertai dengan langkah – langkah dan penjelasannya. Baca juga artikel codeigniter …

The post Cara upload foto di CodeIgniter appeared first on Susantokun.

]]>
Cara upload foto di CodeIgniterCara upload foto di CodeIgniter – Susantokun. Maksud dari artikel ini adalah cara untuk upload gambar di ci, upload file ke database dengan ci, upload file di codeigniter yang artinya pada kasus kali ini mimin akan memberikan source code cara upload foto di codeigniter disertai dengan langkah – langkah dan penjelasannya.

Baca juga artikel codeigniter lainnya : 

Pada dasarnya cara upload foto di codeIgniter adalah input nama file dari gambar yang diunggah ke database sedangkan untuk file gambar / foto nya disimpan pada folder yang nantinya dapat digunakan untuk pemanggilan foto atau gambar tersebut sesuai dengan nama nya.

Cara upload foto di CodeIgniter

Ke-1 siapkan alat tempurnya :

  1. CodeIgniter
  2. Text Editor

Ke-2 ekstrak kulit manggis dan ubah nama menjadi upload_photo, kemudian pindahkan ke htdocs

Ke-3 buka upload_photo di text editor kesayangan sobat, inget … text editor

Ke-4 atur config seperti biasa, sobat bisa lihat di https://youtu.be/63u0xCqjNlI atau https://www.youtube.com/watch?v=v1jgbshmbhc&t

Ke-5 sobat buka application\views\welcome_message.php dan ganti menjadi seperti code di bawah :

<?=$this->session->flashdata('msg') ?>
<form action="<?=base_url('welcome/tambah_aksi') ?>" method="post" enctype="multipart/form-data">
	<table>
		<tr>
			<td>Username</td>
			<td><input type="text" name="username" placeholder="Username bossq"></td>
		</tr>
		<tr>
			<td>Photo</td>
			<td><input type="file" name="photo"></td>
		</tr>
		<tr>
			<td><button type="submit" name="submit">Tambah</td>
		</tr>
	</table>
</form>
<table>
	<thead>
		<tr>
			<th>No</th>
			<th>Username</th>
			<th>Photo</th>
		</tr>
	</thead>
</table>

Maka jika dibuka localhost/upload_photo tampilannya akan menjadi seperti gambar dibawah :

Cara upload foto di CodeIgniter

Ke-6 masuk ke application\controllers\Welcome.php dan ubah menjadi seperti code di bawah :

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

class Welcome extends CI_Controller {

	public function __construct()
	{
		parent::__construct();
		$this->load->model(array(
			'User_model'
		));
	}

	public function index()
	{
		$data['user'] = $this->User_model->get_all();
		$this->load->view('welcome_message', $data);
	}

	public function tambah_aksi()
	{
		$data = array(
			'username' => $this->input->post('username'),
		);
		if (!empty($_FILES['photo']['name'])) {
			$upload = $this->_do_upload();
			$data['photo'] = $upload;
		}
		$this->User_model->insert($data);
		redirect('welcome', $data);
	}

	private function _do_upload()
	{
		$config['upload_path'] 		= 'assets/images/';
		$config['allowed_types'] 	= 'gif|jpg|png';
		$config['max_size'] 			= 100;
		$config['max_widht'] 			= 1000;
		$config['max_height']  		= 1000;
		$config['file_name'] 			= round(microtime(true)*1000);

		$this->load->library('upload', $config);
		if (!$this->upload->do_upload('photo')) {
			$this->session->set_flashdata('msg', $this->upload->display_errors('',''));
			redirect('welcome');
		}
		return $this->upload->data('file_name');
	}
}

Penjelasan :

  • $config[‘max_size’] = 100; adalah maksimal ukuran file yang diupload, sehingga batas maksimal yang diunggah adalah 100kb
  • $config[‘file_name’] = round(microtime(true)*1000); mengganti nama asli menjadi microtime yang dikalikan dengan 1000, jika ingin mengubahnya menjadi nama asli tinggal di hilangkan saja.
  • $this->session->set_flashdata(‘msg’, $this->upload->display_errors(”,”)); jadi ketika file gambar nya tidak sesuai dengan aturan (max_size, max_widht, max_height) akan menampilkan error. Sebagai contoh pada gambar di bawah adalah ukuran file nya gede kaya punya gua.
    Cara upload foto di CodeIgniter

Ke-7 buat model baru dengan nama User_model (application\models\User_model.php) dan masukkan code di bawah ini :

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

class User_model extends CI_Model{

  public function __construct()
  {
    parent::__construct();
    //Codeigniter : Write Less Do More
  }

  public function get_all()
  {
    return $this->db->get('tbl_user')->result();
  }

  public function insert($data)
  {
    $this->db->insert('tbl_user', $data);
  }

}

Ke-8 sobat tambahkan tbody nya pada application\views\welcome_message.php sehingga source code nya akan menjadi seperti di bawah :

<?=$this->session->flashdata('msg') ?>
<form action="<?=base_url('welcome/tambah_aksi') ?>" method="post" enctype="multipart/form-data">
	<table>
		<tr>
			<td>Username</td>
			<td><input type="text" name="username" placeholder="Username bossq"></td>
		</tr>
		<tr>
			<td>Photo</td>
			<td><input type="file" name="photo"></td>
		</tr>
		<tr>
			<td><button type="submit" name="submit">Tambah</td>
		</tr>
	</table>
</form>
<table>
	<thead>
		<tr>
			<th>No</th>
			<th>Username</th>
			<th>Photo</th>
		</tr>
	</thead>
	<tbody>
		<tr>
		<?php
		$no = 1;
		foreach ($user as $row): ?>
			<tr>
				<td><?$no++?></td>
				<td><?=$row->username?></td>
				<td>
					<img src="<?=base_url('assets/images/'.$row->photo)?>" style="width:300px; height:150">
				</td>
			</tr>
		<?php endforeach; ?>
		</tr>
	</tbody>
</table>

Ke-9 sobat buat folder assets/images di projek upload_photo yang digunakan untuk menampung file foto atau gambar nya.

Ke-10 sobat coba masukkan di username nya satu dan masukkan file foto nya sehingga tampilannya akan menjadi seperti ini :

Cara upload foto di CodeIgniter

Selesai.

Nah itulah artikel tentang Cara upload foto di CodeIgniter yang dapat disampaikan, kurang lebihnya mohon maaf dan semoga berhasil, untuk penjelasan lengkapnya sobat bisa tonton video tutorialnya. Jika ada yang kurang dimengerti atau mengalami kesulitan bisa bertanya.

The post Cara upload foto di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-upload-foto-di-codeigniter/feed/ 7
Cara join table di CodeIgniter https://www.susantokun.com/cara-join-table-di-codeigniter/ https://www.susantokun.com/cara-join-table-di-codeigniter/#comments Mon, 20 Aug 2018 13:15:15 +0000 https://www.susantokun.com/?p=2156 Cara join table di CodeIgniter – Susantokun. Pada kesempatan kali ini miminz akan memberikan tutorial bagaimana Cara join table di CodeIgniter baik itu join untuk 1 tabel, join 2 tabel, join 3 tabel sampai dengan join n tabel. Sebenarnya ini adalah permintaan dari teman miminz namanya Naufal Firansyah (masih jomblo) yang lagi kesulitan join joinan maka dibuatlah …

The post Cara join table di CodeIgniter appeared first on Susantokun.

]]>
Cara join table di CodeIgniterCara join table di CodeIgniter – Susantokun. Pada kesempatan kali ini miminz akan memberikan tutorial bagaimana Cara join table di CodeIgniter baik itu join untuk 1 tabel, join 2 tabel, join 3 tabel sampai dengan join tabel. Sebenarnya ini adalah permintaan dari teman miminz namanya Naufal Firansyah (masih jomblo) yang lagi kesulitan join joinan maka dibuatlah tutorial ini, jadi jika sobat lagi ada kesulitan nih tentang codeigniter bisa langsung request aja di kolom komentar Request di mari. Pada prinsipnya fungsi dari join tabel di codeigniter adalah untuk memanggil data lain yang ada pada sebuah tabel sehingga data dari tabel lain dapat ditampilkan sesuai dengan hubungan antara Pimary Key dengan Foreign Key, namun pada saat membuat tabel sobat hanya perlu mendefinisikan primary key nya saja, sebagai contoh miminz mempunyai 2 tabel dengan isi sebagai berikut :

Tabel 1 (tbl_user) :

  1. id [primary key, int (3), ai]
  2. id_role [int(3)]
  3. username [varchar(30)]
  4. password [varchar(30)]
  5. email [varchar(30)]

Tabel 2 (tbl_role) :

  1. id [primary key, int(11), ai]
  2. name [varchar(30)]
  3. description [varchar(50)]

Kemudian miminz ingin menampilkan data dengan daftar username (tbl_user), email (tbl_user) dan name (tbl_role). Bagaimana caranya? Agar name yang ada di tbl_role ditampilkan sesuai dengan id role yang ada di tbl_user? Hmmmm gimana ya? Aku siapa? Aku dimana? Yaaaa … solusinya bisa menggunakan Cara join table di CodeIgniter. Yuk cap cus cyn kita mulah ngoding.

Cara join table di CodeIgniter

Pertama sobat siapkan alat tempurnya terlebih dahulu :

  1. CodeIgniter
  2. Text Editor

Kedua buka Text Editor paling bagus kesayangan sobat dan masukkan kepunyaan sobat ke lubang yang mantap projek yang akan sobat gunakan sebagai latihan Cara join table di CodeIgniter

Ketiga ubah semua konfigurasi sehingga hasil akhirnya sobat sudah siap mulai ngoding untuk menyelesaikan Cara join table di CodeIgniter, ya sudah kalau masih belum paham miminz jelasin aja deh. Buat yang sudah siap alias hanya membutuhkan inti dari joinnya silakan lewat saja tahap ketiga ini. Jadi pertama sobat buka application\config\autoload.php dan tambahkan library database ($autoload[‘libraries’] = array(‘database’);) kemudian masuk ke application\config\database.php dan tambahkan database yang akan dibuat, disini kita akan menggunakan nama database db_susantokun seperti pada code dibawah ini :

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'root',
	'password' => '',
	'database' => 'db_susantokun',
	'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
);

Untuk database nya bisa sobat buat sendiri dengan nama db_susantokun kemudian masukkan code dibawah pada SQL database yang telah dibuat :

CREATE TABLE `tbl_role` (
  `id` int(3) NOT NULL,
  `name` varchar(30) NOT NULL,
  `description` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `tbl_role`
--

INSERT INTO `tbl_role` (`id`, `name`, `description`) VALUES
(1, 'administrator', 'Bagian pengelolaa website perusahaan'),
(2, 'member', 'Pengguna yang menggunakan website');

-- --------------------------------------------------------

--
-- Struktur dari tabel `tbl_user`
--

CREATE TABLE `tbl_user` (
  `id` int(3) NOT NULL,
  `id_role` int(3) NOT NULL,
  `username` varchar(30) NOT NULL,
  `password` varchar(30) NOT NULL,
  `email` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `tbl_user`
--

INSERT INTO `tbl_user` (`id`, `id_role`, `username`, `password`, `email`) VALUES
(1, 1, 'adminku', 'password', 'admin@admin.com'),
(2, 2, 'memberku', 'password', 'member@member.com');

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `tbl_role`
--
ALTER TABLE `tbl_role`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `tbl_user`
--
ALTER TABLE `tbl_user`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `tbl_role`
--
ALTER TABLE `tbl_role`
  MODIFY `id` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `tbl_user`
--
ALTER TABLE `tbl_user`
  MODIFY `id` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

Mulai Ngoding Cara join table di CodeIgniter

Ingat lebih baik sobat ngetik sendiri ya jangan langsung copas gitu aja, supay

Keempat sobat buka application\controllers\Welcome.php dan ubah code nya menjadi seperti dibawah ini :

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

class Welcome extends CI_Controller {

	public function __construct()
	{
			parent::__construct();
			$this->load->model(array('User_model'));
	}

	public function index()
	{
		$data['dataUser'] = $this->User_model->get_by_role();
		$this->load->view('welcome_message', $data);
	}
}

Penjelasan :

  • Pada function_index() kita membuat dataUser sebagai tempat penyimpanan data dari function get_by_role pada User_model
  • Kemudian di load dataUser tersebut dengan menambahkan $data pada $this->load->view(‘welcome_message’, $data); sehingga dataUser hanya dapat tampil pada view welcome_message

Kelima sobat buat User_model dan masukkan code berikut :

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

class User_model extends CI_Model{

  public function __construct()
  {
    parent::__construct();
    //Codeigniter : Write Less Do More
  }

  public function get_by_role()
  {
      $this->db->select('
          tbl_user.*, tbl_role.id AS id_role, tbl_role.name
      ');
      $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
      $this->db->from('tbl_user');
      $query = $this->db->get();
      return $query->result();
  }

}

Penjelasan :

  • Pada function get_by_role() terdapat sql untuk menampilkan data dari tbl_user dengan kondisi select data dari tbl_role dan menampilkan field tbl_role.name sehingga nanti name yang terdapat pada tbl_role bisa dipanggil
  • Pada $this->db->join(‘tbl_role’, ‘tbl_user.id_role = tbl_role.id’); adalah proses join antar table sehingga tbl_role name dapat dipanggil sesuai dengan id_role yang ada di tbl_user sama dengan id yang ada di tbl_role

Keenam buka application\views\welcome_message.php

<table>
	<thead>
		<tr>
			<th>No</th>
			<th>Username</th>
			<th>Email</th>
			<th>Role Name</th>
		</tr>
	</thead>
	<tbody>
		<?php
		$no = 0;
		foreach ($dataUser as $row):
		$no++ ?>
			<tr>
				<td><?=$no?>
				<td><?=$row->username?></td>
				<td><?=$row->email?></td>
				<td><?=$row->name?></td>
			</tr>
		<?php endforeach; ?>
	<tbody>
</table>

Penjelasan :

  • Kode di atas adalah untuk menampilkan sebuah tabel dimana isi nya terdiri dari No, Username, Email dan Role Name dengan isi yang diambil dari 2 tabel, disitu pun sudah saya buatkan cara membuat nomor urut otomatis sehingga nomor urut akan tampil sesuai dengan jumlah row nya.
  • Perhatikan bagian $dataUser as $row, itu adalah proses pengambilan data berdasarkan variabel $dataUser yang berdada di application\controllers\Welcome.php dimana $dataUser adalah data yang diambil dari application\models\User_model.php function get_by_role() yang disana ada join joinan.

Silakan sobat buka localhost/namaproject apakah hasilnya sama dengan gambar dibawah

Cara join table di CodeIgniter

Jika sama maka sobat telah berhasil join table di codeigniter dan jika tidak coba sobat cek lagi tutorial nya apakah sudah benar atau belum.

Bagaimana jika kita ingin menambahkan row description dari tabel role? Caranya cukup tambahkan <th>Description</th> pada <thead> dan <td><?=$row->description?> pada <tdbody> silakan sobat coba hal tersebut. Maka hasil nya akan bertuliskan seperti berikut :

A PHP Error was encountered
Severity: Notice

Message: Undefined property: stdClass::$description

Filename: views/welcome_message.php

Line Number: 21

Backtrace:

File: G:\xampp\htdocs\CodeIgniter-3.1.9\application\views\welcome_message.php
Line: 21
Function: _error_handler

File: G:\xampp\htdocs\CodeIgniter-3.1.9\application\controllers\Welcome.php
Line: 15
Function: view

File: G:\xampp\htdocs\CodeIgniter-3.1.9\index.php
Line: 315
Function: require_once

Kenapa demikian? Karena kita belum mendefinisikan field description pada tabel role untuk ditampilkan, solusinya sobat masuk ke application\models\User_model.php function get_by_role() dan tambahkan “, tbl_role.description” sehingga coding nya seperti berikut :

public function get_by_role()
  {
      $this->db->select('
          tbl_user.*, tbl_role.id AS id_role, tbl_role.name, tbl_role.description
      ');
      $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
      $this->db->from('tbl_user');
      $query = $this->db->get();
      return $query->result();
  }

Silakan coba lagi muat localhost/namaproject maka hasilnya akan seperti gambar berikut :

Cara join table di CodeIgniter

Bagaimana jika ingin join 3 table? Sobat cukup tambahkan tbl_user.*, tbl_role.id AS id_role, tbl_role.name dan $this->db->join(‘tbl_role’, ‘tbl_user.id_role = tbl_role.id’); seperti pada coding berikut :

public function get_by_role()
  {
      $this->db->select('
          tbl_user.*, tbl_role.id AS id_role, tbl_role.name, tbl_role.description
          tbl_1.*, tbl_2.id AS id_2, tbl_2.field1
      ');
      $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
      $this->db->join('tbl_2', 'tbl_1.id_2 = tbl_2.id');
      $this->db->from('tbl_user');
      $query = $this->db->get();
      return $query->result();
  }

Bagaimana jika ingin join 4 tabel? Ya sobat tinggal tambahkan lagi saja baris baru untuk join seperti pada coding diatas yang diberikan bold. Cukup mudah kan? Yaaaa semoga tutorial Cara join table di CodeIgniter ini dapat bermanfaat bagi sobat dan jangan lupa untuk memberikan komentar biar makin rame gitu dan miminz tambah semangat.

The post Cara join table di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-join-table-di-codeigniter/feed/ 16
Cara membuat last login di CodeIgniter https://www.susantokun.com/cara-membuat-last-login-di-codeigniter/ https://www.susantokun.com/cara-membuat-last-login-di-codeigniter/#comments Mon, 13 Aug 2018 12:19:57 +0000 https://www.susantokun.com/?p=2146 Cara membuat last login di CodeIgniter – Susantokun. Cara membuat last login atau terakhir masuk di codeigniter, sebenarnya cukup simple karena tinggal mencatat kapan dia logout. Loh? Ko logout? Ya, karena untuk mengetahui kapan terakhir login pencatatan atau update data dilakukan ketika user logout, maka nanti ketika user kembali login bisa melihat kapan terakhir kali …

The post Cara membuat last login di CodeIgniter appeared first on Susantokun.

]]>
Cara membuat last login di CodeIgniterCara membuat last login di CodeIgniter – Susantokun. Cara membuat last login atau terakhir masuk di codeigniter, sebenarnya cukup simple karena tinggal mencatat kapan dia logout. Loh? Ko logout? Ya, karena untuk mengetahui kapan terakhir login pencatatan atau update data dilakukan ketika user logout, maka nanti ketika user kembali login bisa melihat kapan terakhir kali dia login (terakhir logout), jika diupdate ketika login maka namanya now login bukan last login :P. Intinya kapan terakhir kali user menggunakan sistem yang telah dibuat dalam waktu user berada di sistem. Langsung saja ke Cara membuat last login di CodeIgniter.

Cara membuat last login di CodeIgniter

Pertama sobat buka controller authentication (Auth.php) atau buat controller untuk fungsi logout dan masukkan code di bawah ini :

public function logout()
    {
        date_default_timezone_set("ASIA/JAKARTA");
        $date = array('last_login' => date('Y-m-d H:i:s'));
        $id = $this->session->userdata('id');
        $this->Auth_model->logout($date, $id);
        $this->session->sess_destroy();
        redirect('auth/login');
    }

Kedua sobat buat model nya dengan nama Auth_model dan masukkan code di bawah ini :

public function logout($date, $id)
    {
        $this->db->where('tbl_user.id', $id);
        $this->db->update('tbl_user', $date);
    }

Selesai.

Mudah kan? Jadi sobat hanya perlu update field last_login pada tbl_user ketika user logout dengan demikian Cara membuat last login di CodeIgniter terpenuhi. Berikut adalah penjelasan dari coding nya.

date_default_timezone_set("ASIA/JAKARTA");
$date = array('last_login' => date('Y-m-d H:i:s'));

date_default_timezone_set(“ASIA/JAKARTA”); adalah zona waktu agar nanti waktu last_login bisa sesuai dengan zona waktunya.

$date = array(‘last_login’ => date(‘Y-m-d H:i:s’)); meupakan proses pengambilan data ketika function logout dijalankan yang nantinya akan mengupdate field last_login berdasarkan id dari session user tersebut.

$this->db->update(‘tbl_user’, $date); berfungsi untuk mengupdate data tbl_user dengan data yang diambil dari $date yaitu last_login yang telah di definisikan di controller.

Itulah artikel Cara membuat last login di CodeIgniter yang dapat disampaikan, semoga dapat membatu sobat sekalian dalam pengerjaan projek nya dengan framework codeigniter. Untuk project Cara membuat last login di CodeIgniter ini bisa sobat download di https://github.com/Susantokun sebagai referensi dan untuk database nya pada arikel Cara update profile sesuai data yang login di CodeIgniter. Jika ada yang kurang dipahami silakan tanyakan pada kolom komentar dengan senang hati akan mimin jawab. Terima kasih dan selamat ngoding.

The post Cara membuat last login di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-membuat-last-login-di-codeigniter/feed/ 4