Saturday, October 26, 2013

Membuat Detail Berita Dengan Codeigniter

 Gambar Detail Biodata


ya ini request-an dari ade kelas bung marvin, semoga bisa membantu.

Pada kasus kali ini penulis membuat sebuah database dengan nama latihan dan sebuah table dengan nama biodata. berikut SQLnya

Ini digunakan untuk membuat sebuah database

CREATE DATABASE IF NOT EXISTS `latihan` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `latihan`;

ini digunakan untuk membuat table

CREATE TABLE IF NOT EXISTS `biodata` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(80) DEFAULT NULL,
  `alamat` varchar(100) DEFAULT NULL,
  `jenis_kelamin` varchar(2) DEFAULT NULL,
  `tgl_lahir` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Ini digunakan untuk menginput data

INSERT INTO `biodata` (`id`, `nama`, `alamat`, `jenis_kelamin`, `tgl_lahir`) VALUES
(1, 'Deydra Novitasari', 'Bandung', 'P', '1995-11-27'),
(2, 'Deden Hendra Permana', 'Bandung', 'L', '1994-11-29');

database telah siap digunakan, sekarang harus ada file CI yang dikonfigurasi, pertama ubah file pada folder application/config/autoload.php cari baris kode berikut

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

ubah menjadi

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

simpan file, lalu file application/config/routes.php cari file berikut

$route['default_controller'] = "welcome";

ubah menjadi

$route['default_controller'] = "biodata";

simpan file berikut lalu buka application/config/database.php, cari kode berikut

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysql';

ubah menjadi

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'latihan';
$db['default']['dbdriver'] = 'mysql';

penjelasan :

    file autoload merupakan file yang berfungsi untuk meload library yang telah disediakan oleh CI
    file routes merupakan file yang digunakan untuk mengatur controller mana yang akan pertama kita load, pada kasus ini kita meload controller biodata
    file database merupakan file yang digunakan untuk mengatur koneksi database.

setelah selesai konfigurasi, pertama yang harus dibuat adalah model, model sendiri merupakan file yang bertugas mengatur interaksi dengan  database seperti insert,edit,delete,view atau bahasa kerennya sekarang CRUD (create,read,update,delete).

biodata_model.php

<?php
class Biodata_Model extends CI_Model
{
   
function view_all(){
    $query = $this->db->query("SELECT id,nama FROM biodata");
    return ($query->num_rows() > 0)? $query->result():FALSE;
}

function view_by($id){
    $query = $this->db->query("SELECT * FROM biodata where id='$id'");
    return ($query->num_rows() > 0)? $query->result():FALSE;
}

}

simpan file tersebut pada folder application/models dengan nama biodata_model.php, setelah itu buat controller nya

biodata.php

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

class Biodata extends CI_Controller {

    public function index()
    {
        $this->load->model('biodata_model');
        $data['biodata']    =   $this->biodata_model->view_all();
        $this->load->view('biodata_view',$data);
    }
   
       public function detail($Id)
    {
        $this->load->model('biodata_model');
        $data['biodata']    =   $this->biodata_model->view_by($Id);
        $this->load->view('biodata_detail',$data);
    }
}

simpan pada folder application/controllers  dengan nama biodata.php

penjelasan :

    function index() merupakan fungsi yang digunakan untuk menampilkan semua data
    function detail() merupakan fungsi yang digunakan untuk menampilkan detail dat

yang terakhir adalah membuat tampilannya

biodata_view.php

<h3>Data Biodata</h3>

<?php
    if(!empty($biodata)){//JIKA DATA TIDAK KOSONG
        ?>
            <table>
                <tr>
                    <td>ID</td>
                    <td>Nama</td>
                    <td>Aksi</td>
                </tr>
        <?php
        foreach($biodata as $data){
        ?>
                <tr>
                    <td><?php echo $data->id?></td>
                    <td><?php echo $data->id?></td>
                    <td><a href="index.php/biodata/detail/<?php echo $data->id?>">Lihat Detail</a></td>
                </tr>
        <?php
        }
        ?>
            </table>
        <?php
    }else{//JIKA DATA KOSONG
        echo "Data kosong";
    }
?>

simpan pada folder application/views dengan nama biodata_view.php. lalu buat file view detailnya

biodata_detail.php

<h3>Detail Biodata</h3>

<?php
    if(!empty($biodata)){//JIKA DATA TIDAK KOSONG
       
        foreach($biodata as $data){
        ?>
        <table>
                <tr>
                    <td>ID</td>
                    <td><?php echo $data->id?></td>
                </tr>
                <tr>
                    <td>Nama</td>
                    <td><?php echo $data->nama?></td>
                 </tr>
                <tr>
                    <td>Jenis Kelamin</td>
                    <td><?php echo $data->jenis_kelamin?></td>
                 </tr>
                <tr>
                    <td>Alamat</td>
                    <td><?php echo $data->alamat?></td>
                 </tr>
               
            </table>
        <?php
        }
    }else{//JIKA DATA KOSONG
        echo "Data kosong";
    }
?>

simpan file tersebut pada folder yang sama. selesailah sampai disini, semoga bermanfaat smiley

bila ada keluhan silahkan komen saja