Home » Codeigniter » Crud Simple Menampilkan Data dan Insert Data ke Database Menggunakan CodeIgniter

Crud Simple Menampilkan Data dan Insert Data ke Database Menggunakan CodeIgniter

Published by Ade Kurniawan on

Crud menampilkan data dari database menggunakan codeigniter ini dibuat untuk menampilkan data yang akan diinputkan ke database dari form input. Sebelum membuat halaman yang akan menampilkan data dari database tentu kita hendaknya sudah menyelesaikan postingan yang berhubungan dengan penggunaan bootstrap pada code igniter, karena pada contoh ini kita masih menggunakan bootstrap template.

Crud simple codeigniter

Untuk crud sederhana ini kita membutuhkan sebuah database silahkan dibuat database disini digunakan database beritabelajarciphp sebagai  berikut :

insert to database codeigniter
Database beritabelajarciphp

Setelah membuat database selanjutnya kita buat controller, model dan view yang akan digunakan untuk menginputkan data ke database dan menampilkan data dari database.
Berita.php (Pada Controller)

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


class Berita extends CI_Controller{ 
     function __construct(){
     parent:: __construct();
     $this->load->model('berita_model', '', TRUE);
     $this->load->library('form_validation');
     $this->load->helper(array('url','form'));
     }


    public function index(){
         $this->load->view('templates/header');
         $this->load->view('templates/menu');
         $data['berita'] = $this->berita_model->get_berita()->result();
         $this->load->view('beritaview',$data);    
         $this->load->view('templates/script');
         $this->load->view('templates/footer');
     }



     public function input_berita(){
         $this->form_validation->set_rules('judul_berita',
          'Judul Berita','required|trim');
         $this->form_validation->set_rules('detail_berita',
          'Detail Berita','required|trim');


        if ($this->form_validation->run() == false){
         $this->load->view('templates/header');
         $this->load->view('templates/menu');
         $this->load->view('input_berita');
         $this->load->view('templates/script');
         $this->load->view('templates/footer');                
         }
         else {
             $data['id_berita'] = $this->input->post('id_berita');
             $data['judul_berita'] = $this->input->post('judul_berita');
             $data['detail_berita'] = $this->input->post('detail_berita');
             $this->berita_model->input_berita($data,'berita');
         }                
     }

}

Pada Contoh di atas kita membuat dua function.

Function menampilkan berita
Pada function yang dijadikan index ini kita meload halaman template header, footer dan script dan kemudian memanggil model untuk diambil datanya dan ditampilkan pada view dengan menggunakan perintah

$data[‘berita’] = $this->berita_model->get_berita()->result();

berita_model adalah class model yang berisi function get_berita, result atau hasil dari funtion ini dipanggil pada controller dan diambil nilanya untuk dikirim melalui variabel berita [‘berita’].

Function menginputkan berita
Function input_berita ini digunakan untuk menampilkan form input berita dan memproses berita yang telah di input.
Penggunaan script

$this->form_validation->set_rules(‘judul_berita’,’Judul Berita’,’required|trim’);
$this->form_validation->set_rules(‘detail_berita’,’Detail Berita’,’required|trim’);

akan memvalidasi data yang telah diinputkan. jika judul berita masih kosong maka proses input tidak bisa dilakukan dan akan muncul notifikasi The Judul Berita field is required.
Jika validasi telah dilewati maka proses input berita dapat dilaksanakan dengan mememberi perintah kepada model seperti berikut:

$this->berita_model->input_berita($data,’berita’);

berita_model seperti yang di bahas di atas adalah sebuah model untuk memproses permintaan dari class controller Berita. Berikut adalah script yang digunakan pada class Berita_model

Berita_model (Pada Model)

<?php
    class Berita_model extends CI_Model{
        public function get_berita(){
      return $this->db->get('berita');
     }
     function input_berita($data,$table){
     $this->db->insert($table, $data);
    }
   }

Function yang terdapat pada berita model di atas adalah function mengambil data dari database dengan perintah get dan input_data ke database dengan perintah insert.
Selanjutnya dibutuhkan 2 halaman view untuk input berita dan menampilkan berita. Script yang digunakan adalah sebagai berikut:

input_berita (Pada View)

<!-- Page Content -->
  <div class="container">


   <div class="row">


     <!-- Post Content Column -->
      <div class="col-lg-8">


       <!-- Title -->
        <h1 class="mt-4">Input Berita</h1>


       <hr>


       <div  style="height: 400px">


     <form action="<?php echo base_url(). 'berita/input_berita'; ?>" method="post">
            <div class="form-group">  
                <label>Judul Berita :</label>
                <input size="80" type="text" name="judul_berita">
            </div>
            <div class="form-group">
                <label> Detail Berita :</label>
                <textarea rows="6" cols="60" name="detail_berita"></textarea></br>
            </div>
            <div class="form-group">
                <input type="submit" value="Simpan" name="">
            </div>
            <?php echo validation_errors(); ?>
        </form> 


       </div>
      </div>


   </div>
    <!-- /.row -->


</div>
  <!-- /.container -->




beritaview.php (pada View)

<!-- Page Content -->
  <div class="container">


   <div class="row">


     <!-- Post Content Column -->
      <div class="col-lg-8">


       <!-- Title -->
        <h1 class="mt-4">Berita</h1>


       <hr>


       <div  style="height: 400px">
          <?php
          foreach ($berita as $key){ ?>
              <b><?php echo $key->judul_berita;?></b> <br/>
             <?php echo $key->detail_berita;?><br/>
             <hr>


         <?php 
          }
          ?>
        <div>
          
        </div>
        </div>



      </div>


   </div>
    <!-- /.row -->


</div>
  <!-- /.container -->



Kedua halaman view di atas adalah file yang telah dipanggil oleh controller perhatikan script pada controller Berita.php

$this->load->view(‘beritaview’,$data);
dan
$this->load->view(‘input_berita’);

Dengan menyelesaikan ke 4 file php tersebut kita telah menyelsaikan crud sederhana menampilan dan insert data ke database menggunakan code igniter. Mungkin terdapat cara lain dalam menampilkan data dan menginputkan data ke database pada codeigniter namun penggunaan di atas cukup sederhana karena kita menggabungkan file input dan proses input ke dalam satu function controller input_berita. Dan melakukan pemilihan proses dengan perintah if else, if validasi gagal maka akan muncul halaman input kembaii,, jika validasi telah benar maka function input_berita akan melakukan proses simpan berita ke database

Categories: Codeigniter

0 Comments

Leave a Reply

Avatar placeholder

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