Image Load

Hello world,

Melanjutkan dari postingan sebelumnya mengenai codeigniter dimana sebelumnya saya sudah mencoba menampilkan halaman-halaman statis menggunakan codeigniter dan view (lihat di sini). Kali ini kelanjutannya adalah menampilkan data dari database. pertama kita buat dulu tabel seperti berikut lalu kita beri sampel beberapa data..

CREATE TABLE `codeignitermodul`.`blog` ( `id` INT NOT NULL AUTO_INCREMENT ,  `judul` VARCHAR(100) NOT NULL ,  `konten` TEXT NOT NULL ,  `tanggal` DATE NOT NULL ,    PRIMARY KEY  (`id`)) ENGINE = InnoDB;

Lalu kita setting application/config/database.php pada project kita dengan username, password dan nama database kita.

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'codeignitermodul',
'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
);


Selanjutnya kita buat model untuk memanggil data dari database seperti berikut.

<?php
class M_blog extends CI_Model
{
public function __construct()
{
$this->load->database();
}
public function get_data()
{
$query = $this->db->get('blog');
return $query->result_array();

}
}

Pada model di atas kita membuat sebuah model dengan sebuah method "get_data" yang berisi query (tanda hijau) untuk menambil data dari  database tabel "blog". Lalu kita panggil pada controller yang sudah kita buat sebelumnya di sini.

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

class Blog extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('m_blog');
$this->load->helper('url');
}
public function index()
{
$data['blog'] = $this->m_blog->get_data();

$this->load->view('header');
$this->load->view('home', $data);
$this->load->view('footer');
}

}

Pada controller di atas tanda kuning pertama berfungsi untuk memanggil model "M_blog" agar dapat digunakan pada controller. Kemudian pada tanda kuning kedua kita memanggil method "get_data" yang kita masukkan ke dalam variable $data yang dimasukkan  ke view "home" (tanda kuning ketiga). Dengan memasukkan $data ke dalam view "home" kita akan bisa menampilkan data tersebut dalam view home.

Selanjutnya kita coab tampilkan pada view seperti berikut.

<!-- Main Content -->
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-10 mx-auto">
<?php foreach($blog as $listblog): ?>
<div class="post-preview">
<a href="post.html">
<h2 class="post-title">
<?php echo $listblog['judul']; ?>
</h2>
<h3 class="post-subtitle">
<?php echo $listblog['konten']; ?>
</h3>
</a>
<p class="post-meta">Posted by
<a href="#">Start Bootstrap</a>
<?php echo $listblog['tanggal']; ?>
</p>
</div>
<hr>
<?php endforeach; ?>
</div>
</div>

<hr>


Selamat mencoba :)