Tutorial CodeIgniter Dasar Part II – CRUD chapter 2

OK, malam ini kita lanjutkan tutorial kemarin… maaf kalo agak telat, soalnya koneksi Cheyuz lagi bermasalah dan bentrok ngerjain tugas kuliah juga.. hehe…



Pada tutorial kemarin, kita udah bisa menambahkan data ke dalam database… (Create) dan menampilkannya (semua data)…. Sekarang, kita akan membuat aksi lainnya, yaitu update/ubah dan delete/hapus pada setiap data di dalam sebuah table…



Kita lanjutkan tutorial kemarin (Tutorial CodeIgniter Dasar Part II – CRUD Chapter 1) yang waktu itu kita udah membuat table mahasiswa dan membuat fungsi untuk menambahkan datanya.. sekarang mari kita buat fungsi/aksi lainnya, yaitu update dan delete…



Kita review hasil kerjaan dari tutorial kemarin…



PHP Code:


<h1>Data Mahasiswa</h1>

<table>

    <thead>

        <tr>

            <th>No</th>

            <th>NIM</th>

            <th>Nama</th>

            <th>Alamat</th>

            <th>Aksi</th>

        </tr>

    </thead>

    <tbody>

        <?php $i 1 ?>
        <?php foreach($mahasiswa as $m): ?>
        <tr>

            <td><?php echo $i++ ?></td>

            <td><?php echo $m->nim ?></td>

            <td><?php echo $m->nama ?></td>

            <td><?php echo $m->alamat ?></td>

            <td></td>

        </tr>

        <?php endforeach ?>
    </tbody>

</table>


Sebelumnya kita tambahkan 2 buah anchor (link) untuk membuat hyperlink menuju ke masing2 fungsi tersebut,.. yaitu anchor untuk edit dan delete.. (catatan: edit = update).

Buatlah dua buah anchor dengan bentuk kode seperti ini di kolom paling kanan tabel:



PHP Code:


<?php echo anchor('data_mahasiswa/edit/'.$m->id'Ubah') . ' | ' anchor('data_mahasiswa/delete/'.$m->id'Hapus'); ?>


jadi bentuknya seperti ini:



PHP Code:


<h1>Data Mahasiswa</h1>

<table>

    <thead>

        <tr>

            <th>No</th>

            <th>NIM</th>

            <th>Nama</th>

            <th>Alamat</th>

            <th>Aksi</th>

        </tr>

    </thead>

    <tbody>

        <?php $i 1 ?>
        <?php foreach($mahasiswa as $m): ?>
        <tr>

            <td><?php echo $i++ ?></td>

            <td><?php echo $m->nim ?></td>

            <td><?php echo $m->nama ?></td>

            <td><?php echo $m->alamat ?></td>

            <td><?php echo anchor('data_mahasiswa/edit/'.$m->id'Ubah') . ' | ' anchor('data_mahasiswa/delete/'.$m->id'Hapus'); ?></td>

        </tr>

        <?php endforeach ?>
    </tbody>

</table>


1. Menghapus Data



Kemudian setelah itu, kita buat sebuah function di dalam model mahasiswa_model.php di folder /system/application/models:



PHP Code:


<?php
...

    function 
delete($id){

        
$this->db->delete('mahasiswa', array('id'=>$id));

    }

...
?>


Kemudian, di controller data_mahasiswa.php di /system/application/controllers tambahkan function berikut:



PHP Code:


...

    function 
delete($id){

        
$this->mahasiswa_model->delete($id);

        
redirect('data_mahasiswa');

    }

...



fungsi di atas memanggil fungsi dari objek Mahasiswa_model yaitu delete, yang akan menghapus data dari table mahasiswa yang id nya adalah parameter dari function tersebut ($id)… Kemudian setelah itu baru diredirect/dialihkan ke tampilan index dari controller data_mahasiswa.



2. Mengubah Data



Nah, untuk mengubah data.. kita harus tahu fungsi untuk mengubah database dari Active Record yang disediakan oleh CI.. yaitu $this->db->update($nama_table, $data)…



Sekarang, kita tambahkan function update() dan select($id) untuk menyeleksi SATU data yang akan dipilih berdasarkan id-nya… dibuat di model mahasiswa.php di /system/application/models,,,



PHP Code:


...

    function 
update($id){

        
$this->db->where('id',$id)->update('mahasiswa'$_POST);

    }

    function 
select($id){

        return 
$this->db->get_where('mahasiswa', array('id'=>$id))->row();

    }

...



Di situ ada fungsi update(), yang equivalen dengan query update from mahasiswa where id=$id set $_POST. Dan fungsi select yang nantinya akan kita gunakan ketika nilai dari data akan dimasukkan ke dalam sebuah form (untuk diedit) sehingga kita menggunakan row() yang berfungsi meretrieve data menjadi objek, tetapi hanya SATU BARIS DATA... (segitunya sampe dipertebel hehe :P )



Setelah kita membuat modelnya… kemudian kita tambahkan function edit() di Controller data_mahasiswa.php di /system/application/controller/:



PHP Code:


...

    function 
edit($id){

        
$data['m'] = $this->mahasiswa_model->select($id);

        
$this->load->view('edit_view',$data);

    }

...



Di situ kita buat sebuah fungsi edit di controller data_mahasiswa.php dengan parameter $id.. karena kita akan mengubah data pada setiap data yang ada dengan mengambil id-nya… dan dipanggillah fungsi update() dari model mahasiswa… Tetapi sebelumnya kita harus ngambil sebuah data mahasiswa tertentu berdasarkan $id yang ada untuk dimasukkan ke dalam form,, sehingga nantinya bisa diubah… makanya kita membuat fungsi select()



Ini adalah view yang harus ada di /system/application/views dengan nama file edit_view.php (yang udah kita masukkan ke dalam fungsi $this->load->view() di controller.



Ini adalah isi dari view-nya:



PHP Code:


<h1>Ubah data</h1>

<form action="" method="post">

    <table>

        <tr>

            <th>NIM</th>

            <td><input name="nim" value="<?php echo $m->id ?>" /></td>

        </tr>

        <tr>

            <th>Nama</th>

            <td><input name="nama" value="<?php echo $m->nama ?>" /></td>

        </tr>

        <tr>

            <th>Alamat</th>

            <td><textarea name="alamat"><?php echo $m->alamat ?></textarea></td>

        </tr>

        <tr>

            <th></th>

            <td><input type="submit" value="ubah" /></td>

        </tr>

    </table>

</form>


Jadi, ketika view tersebut diload, maka form akan langsung terisi dengan data yang kita panggil dengan $id yang ada di URL… (yang merupakan parameter)



Kemudian, di controller kita tambahkan code berikut:



PHP Code:


...

    function 
edit($id) {

        if(
$_POST==NULL) {

            
$data['m'] = $this->mahasiswa_model->select($id);

            
$this->load->view('edit_view',$data);

        }else {

            
$this->mahasiswa_model->update($id);

            
redirect('data_mahasiswa');

        }

    }

...



Kita lihat, ada fungsi if else… buat apa tuh??

itu buat ngecek apakah data udah dikirim atau belum (NULL)? Nah, klo udah dikirim berarti bakal diupdate… kalo belum maka program akan mengambil data (select) dan dimasukkan ke dalam form…



Kemudian terdapat fungsi redirect (sama seperti add), ketika data sudah diubah, maka halaman langsung dialihkan ke dalam action yang ada di prameter redirect tersebut….



Nah, sejauh ini kita sudah membuat aplikasi CRUD lengkap… Create, Read, Update, dan Delete….



Silakan cek program yang kita bikin sejauh ini dengan mengetikkan alamat url : http://localhost/webku/data_mahasiswa



Mudah-mudahan ini bisa ngebantu kita dalam suatu kasus tertentu di mana misalnya tugas maupun kerjaan meminta kita dibuatkan programnya dengan menggunakan CI,,,



Nanti kita lanjut tutorialnya di Part 3, tentang LAYOUTING dan TEMPLATING di Code Igniter….

Coming Soon ya…



Kalo ada pertanyaan, silakan komentar di sini, insya Allah dibalas



Artikel selengkapnya baca di sini: http://harian.cheyuz.com/_other/tuto...crud-chapter-2

_________________________________________--
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description

Video Gallery

  • Linux
    sekedar informasi, sekarang zimbra sudah diakuisisi oleh VMWare. jadi nantinya logo webmail zimbra kita akan ada logo VMware-nya.
  • Foto
    kalo mau buat efek foto kembar yang penting pilih minimal 3 foto (mau lebih juga terserah anda aj..)yang setingan tempat dan letak kameranya
  • Network
    setelah anda membongkar dus, dan menyiapkan koneksi. yang perlu anda lakukan adalah:
  • Serba-Serbi
    16 Cara Mengikat Sepatu Ala Jepang share buat teman2 & cew ato cow yang senang menggunakan sepatu bertali. Selamat mencoba
  • Tips-Trik
    Jika agan pengguna komputer, pasti sudah tidak asing lagi dengan yang namanya mouse. Mouse adalah salah satu pendamping setia dari komputer. Hampir semua jenis mouse memiliki 3 buah tombol. Tombol kiri, tombol kanan dan tombol scroll yang ada di tengah
  • Windows
    Windows 7 merupakan versi yang jauh lebih baik daripada versi terbaru windows, yaitu windows Vista. Dan windows 7 dilengkapi dengan banyak fitur baru.