Saturday, April 26, 2014

Membuat Crud PHP Sederhana Dengan Menggunakan Codeigniter

membuat crud php sederhana dengan menggunakan codeigniter

Cahya Dyazin -  CRUD PHP adalah pembahasan yang akan saya bahas saat ini, dan ini sesuai request dari teman saya yang bernama "Megha Triana" ,CRUD adalah kepanjangan dari Create, Read, Update, Delete, tanpa berlama lagi mari kita langsung praktek saja :

Nama database yang saya pakai adalah database dengan nama crud, nama tabel nya "siswa" dan Susunan tabel yang di pakai sebagai berikut :

struktur tabel crud php

Langkah-langkah membuat crud adalah sebagai berikut :
Jangan Lupa Download Codeigneternya terlebih dahulu DISINI
disini saya memakai codeigniter yang terupdate yaitu codeigniter 2.1.4
  • Edit file autoload.php di : applications/config/autoload.php
$autoload['libraries'] = array( );
       menjadi
$autoload['libraries'] = array('database');

$autoload['helper'] = array( );
        menjadi
$autoload['helper'] = array('url');

  • Edit file config.php di : applications/config/config.php
$config['encryption_key'] = ''; 
        menjadi
$config['encryption_key'] = 'cahya dyazin';

 $config['base_url']    = '';
         menjadi
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '') . '://';
$newurl = str_replace("index.php","", $_SERVER['SCRIPT_NAME']);
$config['base_url']    = "$http" . $_SERVER['SERVER_NAME'] . "" . $newurl;

  • Edit file database.php di : applications/config/database.php 
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysql';
         menjadi
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'crud';
$db['default']['dbdriver'] = 'mysql';

  • Edit file routers.php di : applications/config/routers.php
$route['default_controller'] = "welcome"; 
         menjadi
$route['default_controller'] = "crud";


Note : Settingan config di atas bisa di sesuaikan sesuai ke inginan dan kebutuhan kita. NEXT Step.
  • Buat file baru dengan nama crud.php di : applications/controllers/
 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
    class Crud extends CI_Controller {
        public function __construct() {
            parent::__construct();
            $this->load->model('m_crud');
        }

        public function index() {
            $this->load->model('m_crud');
            $data['judul'] = 'Data siswa';
            $data['daftar'] = $this->m_crud->get_crud_all();
            $this->load->view('daftar_siswa', $data);
        }

        public function tambah() {
            $data['judul'] = 'Data siswa [+ADD]';
            $this->load->view('tambah.php', $data);
        }

        public function proses_tambah() {
            $this->load->model('m_crud','',TRUE);
            $this->m_crud->tambah();
            redirect('crud/index');
        }

        public function edit($id) {
            $data['judul'] = 'Data siswa [Edit]';
            $data['daftar'] = $this->m_crud->get_crud_edit($id);
            $this->load->view('edit',$data);
        }

        public function proses_edit() {
            $this->load->model('m_crud','',TRUE);
            $this->m_crud->edit();
            redirect('crud/index');
        }

        public function hapus($id) {
            $this->load->model('m_crud','',TRUE);
            $this->m_crud->hapus_d($id);
            redirect('crud/index');
        }
    }
?>

  • Buat file baru dengan nama m_crud.php di : applications/models/
 <?php 
    class M_crud extends CI_Model {
        public function __construct() {
            $this->load->database();
        }

        function get_crud_all() {
            $query=$this->db->query("select * from siswa order by nama asc");
            return $query->result();
        }

        function tambah() {
            $data = array(
                'nama' => $this->input->post('nama'),
                'kelas' => $this->input->post('kelas'),
                'kejuruan' => $this->input->post('kejuruan')
            );
            return $this->db->insert('siswa', $data);
        }

        function get_crud_edit($id) {
                $this->db->where('id',$id);
                $query = $this->db->get('siswa');
                if($query ->num_rows > 0)
            return $query;
            else
            return null;
        }

        function edit() {
            $id = $this->input->post('id');
            $data = array (
            'nama' => $this->input->post('nama'),
            'kelas' => $this->input->post('kelas'),
            'kejuruan' => $this->input->post('kejuruan')
            );
            $this->db->where('id',$id);
            $this->db->update('siswa',$data);
        }

        function hapus_d($id){
            $this->db->where('id',$id);
            $this->db->delete('siswa');
        }
   
    }
?>

  • Buat file baru dengan nama daftar_siswa.php di applications/views/
 <html> 
    <head>
        <title><?php echo $judul; ?></title>
        <link href="<?php echo base_url('css');?>/style.css" rel="stylesheet">
    </head>
    <body>
        <h1><?php echo $judul; ?></h1>
        <hr>
        <a href="<?php echo site_url ('crud/tambah')?>">[ Tambah ]</a>
        <table cellpadding="5" cellspacing="5" width="100%" style="font-weight:bold;font-size:13px;">
            <tr>
                <th id="judul">Nama</td>
                <th id="judul">Kelas</td>
                <th id="judul">Kejuruan</td>
                <th id="judul" colspan="2">Action</td>
            </tr>
            <?php foreach ($daftar as $a)    {?>
            <tr id="hd" class="hd">
                <td class="hd"><?php echo $a->nama; ?></td>
                <td class="hd"><?php echo $a->kelas; ?></td>
                <td class="hd"><?php echo $a->kejuruan; ?></td>
                <td class="hd"><a href="<?php echo site_url ('crud/edit/'.$a->id)?>"><input type="submit" value="Edit" class="submitButton"></a></td><td class="hd">
                <a href="<?php echo site_url ('crud/hapus/'.$a->id)?>"><input type="submit" value="Delete" class="submitButton"></a></td>
            </tr>
            <?php } ?>
        </table>
        <hr>
        <p>
            Cek My Info : Demo CRUD - Codeigniter | 2014
        </p>
    </body>
</html>

  • Buat file baru dengan nama tambah.php di : applications/views/
<html> 
    <head>
    <title><?php echo"$judul"; ?></title>
        <link href="<?php echo base_url('css');?>/style.css" rel="stylesheet">
    </head>
    <body>
        <h1><?php echo"$judul";?></h1>
        <hr>
        <fieldset>
            <legend><h3>Add New Siswa</h3></legend>
            <form method="POST" action="<?php echo site_url('crud/proses_tambah'); ?>">
                <input type="text" name="nama" placeholder="Nama"/>
                <select name="kelas">
                    <option>-Pilih Kelas-</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                </select>

                <select name="kejuruan">
                    <option>-Pilih Kejuruan-</option>
                    <option value="ak">AK</option>
                    <option value="ap">AP</option>
                    <option value="pn">PN</option>
                    <option value="rpl">RPL</option>
                    <option value="upw">UPW</option>
                </select>
                <input type="submit" name="simapn" value="Simpan" class="submitButton">
                <a href="<?php echo site_url ('crud');?>">[ Home ]</a>
            </form>
        </fieldset>
        <hr>
        <p>
            Cek My Info : Demo CRUD - Codeigniter | 2014
        </p>
    </body>
</html>

  • Buat fie baru dengan nama edit.php di : applications/viesws/
<html> 
    <head>
    <title><?php echo"$judul"; ?></title>
        <link href="<?php echo base_url('css');?>/style.css" rel="stylesheet">
    </head>
    <body>
        <h1><?php echo"$judul";?></h1>
        <hr>
        <fieldset>
            <legend><h3>Update Data Siswa</h3></legend>
            <form method="POST" action="<?php echo site_url('crud/proses_edit'); ?>">
                <?php foreach($daftar->result() as $a):?>
                    <input type="hidden" name="id" value="<?php echo($a->id);?>"/>
                    <input type="text" name="nama" value="<?php echo $a->nama;?>"/>
                    <select name="kelas">
                        <option value="<?php echo $a->kelas;?>">Kelas : <?php echo $a->kelas;?></option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                    </select>

                    <select name="kejuruan">
                        <option value="<?php echo $a->kejuruan;?>">Kejuruan : <?php echo $a->kejuruan;?></option>
                        <option value="ak">AK</option>
                        <option value="ap">AP</option>
                        <option value="pn">PN</option>
                        <option value="rpl">RPL</option>
                        <option value="upw">UPW</option>
                    </select>
                    <input type="submit" name="simapn" value="Update" class="submitButton">
                    <a href="<?php echo site_url ('crud');?>">[ Home ]</a></td>
                <?php endforeach; ?>
            </form>
        </fieldset>
        <hr>
        <p>
            Cek My Info : Demo CRUD - Codeigniter | 2014
        </p>
    </body>
</html>

untuk lebih mudah memahaminya, di sini saya menyediakan link di bawa ini untuk sebagai pembelajaran.

Saya hanya seorang "newbie" yang baru bisa ngoding lohor kemarin.


EmoticonEmoticon