Buat database dengan nama ‘belajarci’, dan di sini saya sertakan juga sebuah table. table yang sudah saya sertakan adalah sebuah table user yang berisi data :
- Username
- Password
-nama
- alamat
-pekerjaan
-- phpMyAdmin SQL Dump
-- version 4.7.0 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Generation Time: 19 Mar 2020 pada 17.46 -- Versi Server: 10.1.25-MariaDB -- PHP Version: 5.6.31 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `belajarci` -- -- -------------------------------------------------------- -- -- Struktur dari tabel `user` -- CREATE TABLE `user` ( `id` int(11) NOT NULL, `username` char(50) NOT NULL, `password` char(150) NOT NULL, `nama` char(100) NOT NULL, `alamat` varchar(250) NOT NULL, `pekerjaan` char(25) NOT NULL, `level` enum('Admin','Operator') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for dumped tables -- -- -- Indexes for table `user` -- ALTER TABLE `user` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `user` -- ALTER TABLE `user` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Selanjutnya untuk menghubungkan codeigniter dengan database buka file config database codeigniter yang terletak di application/config/database.php
application/config/database.php
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => '', 'password' => '', 'database' => '', '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 );
pada file config database.php ini anda dapat melakukan pengaturan database anda dengan memasukkan hostname,username database, password dan nama database yang anda gunakan. Sesuaikan dengan settingan database masing-masing
'username' => 'root', 'password' => '', 'database' => 'belajarci', 'dbdriver' => 'mysqli',
setelah selesai melakukan pengaturan database, langkah selanjutnya yang juga penting adalah memanggil library database codeigniter. karena untuk penggunaan yang berhubungan dengan database kita perlu membuka atau mengaktifkan library database milik si codeigniter ini. cara nya seperti memanggil library codeigniter yang lain. anda bisa memanggil library codeigniter dari function construct() pada controller, pada method atau pada autoload codeigniter. jadi kebetulan di sini saya akan membuka atau memanggil library database codeigniter pada config autoload codeigniter yang terletak pada application/config/autoload.php
application/config/autoload.php
$autoload['libraries'] = array('database');
dan codeigniter pun berhasil di hubungkan dengan database mysql. bagaimana cara memeriksanya sudah terhubung atau belum. jadi pada tutorial ini saya akan menampilkan data dari table user yang sudah di buat tadi untuk sekalian berkenalan dengan model codeigniter.
Pengenalan Model Pada CodeIgniter
Selanjutnya untuk menampilkan data dari table user tadi buat sebuah model dengan nama terserah anda. di sini saya membuat sebuah model dengan nama m_data.php. menghubungkan codeigniter dengan database mysql
application/models/m_data.php
<?php class M_data extends CI_Model{ function ambil_data(){ return $this->db->get('user'); } }
perhatikan syntax di atas. saat membuat class model m_data penulisannya di anjurkan harus di awali dengan huruf besar. kemudian meng-extend model m_data yang sudah di buat dengan CI_Model. kemudian saya membuat sebuah function ambil_data() pada model m_data ini. function ambil_data() ini saya buat untuk mengambil data pada table user. syntax $this->db->get() di gunakan untuk mengambil data dari database. dan nama table yang ingin di ambil data nya letakkan dalam parameternya sehingga menjadi
$this->db->get('user');
kemudian lagi perhatikan syntax return yang berfungsi untuk mengambalikan data yang di tangkap pada controller yang memanggil function ambil_data() ini. sampai di sini model sudah jadi. langkah selanjutnya buat sebuah function pada controller anda. di sini saya membuat function user() pada controller belajar.php.
application/controller/belajar.php
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Belajar extends CI_Controller { function __construct(){ parent::__construct(); $this->load->helper('html'); $this->load->model('m_data'); } public function index(){ $data = array('judul' => "Belajar Framework Codeigniter", 'nama' => "Harry Setya Hadi"); $this->load->view('view_belajar', $data); } function user(){ $data['user'] = $this->m_data->ambil_data()->result(); $this->load->view('v_user.php',$data); } }
perhatikan pada function user di atas. syntax
$this->m_data->ambil_data()
berfungsi untuk memanggil function ambil_data() pada model m_data. dan fungsi result() berguna untuk menjadikannya array. data yang di ambil dari fungsi ambil_data pada model m_data saya masukkan kedalam variabel untuk di parsing ke dalam view v_user.php. baca juga cara membuat view pada codeigniter dan memparsing data ke view codeigniter. klik di sini untuk membaca tutorial cara memparsing data kedalam view codeigniter.
perhatikan juga pada controller belajar.php di atas. karena di sini kita akan menggunakan model m_data. maka jangan lupa juga untuk memanggil model m_data dengan syntax $this->load->model(‘m_data’) seperti contoh di atas.
Selanjutnya buat sebuah view dengan nama v_user.php. pada view ini kita akan menampilkan data dari database yang kita parsing.
application/view/v_user.php
<!DOCTYPE html> <html> <head> <title>Cara Menampilkan data dari database Pada CodeIgniter</title> </head> <body> <h1>Mengenal Model Pada Codeigniter</h1> <table border="1"> <tr> <th>Username</th> <th>Password</th> <th>Nama</th> <th>Alamat</th> <th>Pekerjaan</th> <th>Level</th> </tr> <?php foreach($user as $u){ ?> <tr> <td><?php echo $u->username ?></td> <td><?php echo $u->password ?></td> <td><?php echo $u->nama ?></td> <td><?php echo $u->alamat ?></td> <td><?php echo $u->pekerjaan ?></td> <td><?php echo $u->level ?></td> </tr> <?php } ?> </table> </body> </html>
perhatikan pada contoh di atas. kita menampilkan data dengan menggunakan foreach(). variabel $user akan menjadi $u. $user adalah variabel yang di parsing dari controller tadi dan berisi data user dalam bentuk array. dan akses alamat controller user untuk melihat hasilnya. http://localhost/belajarci/index.php/Belajar/user
Karena data yang ada didalam tabel user masih kosong, sekarang coba tambahkan data berikut ke dalam tabel database
jika semua data sudah masuk kedalam database, sekarang coba lihat hasil dibrowser