Dapatkan Data

Get Data adalah contoh paling dasar untuk menggambarkan bagaimana framework mendapatkan data dari database.

Get data adalah bagian dari metode CRUD, yang disebut Retrieve. CRUD adalah nama pendek dari Create Retrieve Update and Delete.

Dalam tutorial ini Anda akan belajar tentang bagaimana:

  • Mengatur database dengan membuat database dan mengimpor file SQL.
  • Periksa koneksi dan konfigurasi dari framework.
  • Buat model.
  • Ubah controller dan view.

Prasyarat

Untuk hasil terbaik dari tutorial ini, Anda harus mengatur atau menginstal item berikut:

  • Menjalankan Apache dan MySQL melalui XAMPP
  • IDE atau Editor Teks sudah terinstall dan bisa digunakan
  • Peramban / Browser seperti Chrome atau Firefox
  • Menyelesaikan tutorial pertama

Oke, mari kita mulai!

Siapkan database

Sebelum kita melanjutkan ke kode dengan Seme Framework, kita harus menyiapkan database untuk koneksi yang berfungsi antara Seme Framework dan Database.

Buat database menggunakan PhpMyAdmin

PhpMyAdmin adalah antarmuka manajemen basis data berbasis web. PhpMyAdmin sudah ada pada bawaan XAMPP.

PhpMyAdmin ini memungkinkan Anda untuk melakukan hampir semua hal ke database yang didukung MySQL atau MariaDB.

Jika Anda telah menjalankan XAMPP, maka Anda dapat membuka http://localhost/phpmyadmin/.

Anda harus membuat database, bernama seme_framework.

Impor database contoh

Setelah membuat database, Anda harus mengimpor database.

Kami telah menyimpan file sql pada direktori sql.

Sebelum melanjutkan proses ekspor Anda harus memilih database seme_framework yang telah Anda buat sebelumnya.

Navigasikan ke tab export dan pilih file seme_framework.sql didalam direktori sql.

Setelah mengimpor SQL, Anda dapat melihat tabel baru yang sudah ditambahkan ke database.

Penysunan Kode (Ngoding)

Setelah setup database, saatnya untuk coding. Hal pertama yang harus kita periksa kembali adalah file konfigurasi yang terletak di app/config/development.php. Pastikan konfigurasi koneksi database berfungsi.

Buat Model

Model pada MVC framework digunakan untuk menjembatani framework dan tabel database. Dan kemudian jika kita telah memisahkan model, tingkat reusability meningkat karena model dapat digunakan berulang kali beberapa kali pada banyak controller.

Mari kita buat file baru bernama a_apikey_model.php untuk tabel a_apikey didalam direktori app/model/, dan kemudian masukkan kode ini ke file Anda.

<?php
class A_ApiKey_Model extends SENE_Model
{
    public $tbl = 'a_apikey';
    public $tbl_as = 'ak';

    public function __construct()
    {
        parent::__construct();
        $this->db->from($this->tbl, $this->tbl_as);
    }
    public function set($di)
    {
        return $this->db->insert($this->tbl,$di);
    }
    public function update($id,$du)
    {
        $this->db->where('id',$id);
        return $this->db->update($this->tbl,$du);
    }
    public function del($id,$du)
    {
        $this->db->where('id',$id);
        return $this->db->delete($this->tbl);
    }
    public function get()
    {
        return $this->db->get();
    }
    public function getById($id)
    {
        $this->db->where('id',$id);
        return $this->db->get_first();
    }
}

Edit File Controller

Dari tutorial pertama, kami telah membuat pengontrol yang terletak di dalam direktori app/controller/home.php. Untuk menyelesaikan tutorial ini, kita harus menambahkan dan merubah beberapa dengan kode-kode tertentu.

Pertama, kita harus buka file home.php yang ada di dalam direktori app/controller. Setelah itu, kita harus mendapatkan data dan memasukkannya ke dalam variabel bernama $data['aakm'].

<?php
class Home extends SENE_Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->setTheme('front');
    $this->load("a_apikey_model", "aakm");
  }
  public function index()
  {
    $data = array();
    $this->setTitle('Get The Data!');
    $this->setDescription("Here is the example for getting the data.");
    $this->setKeyword('Seme Framework');
    $this->setAuthor('Seme Framework');

    $data['aakm'] = $this->aakm->get();

    $this->putThemeContent("home/home",$data); //pass data to view
    $this->putJsContent("home/home_bottom",$data); //pass data to view

    $this->loadLayout("col-1",$data);
    $this->render();
  }
}

Edit View

Dari tutorial pertama, kami telah membuat tampilan yang terletak di app/view/front/home/home.php. Kemudian edit kode yang ada didalam file tersebut supaya bisa menampilkan data.

Pertama, kita harus menelusuri array yang berisi dari variabel $aakm dan letakkan hasilnya dalam template html. Template html ini nantinya akan dibuat menjadi tampilan kartu / card dari MaterializeCSS.

<div class="container">
  <div class="row">
    <?php foreach($aakm as $aak) { ?>
    <div class="col m12 s12">
      <div class="card rounded preload-any">
        <div class="card-content ">
          <span class="card-title">[<?=$aak->code?>] <?=$aak->name?></span>
          <p><small><?=$aak->cdate?></small></p>
          <p><?=$aak->name.' ID: '.$aak->id?></p>
          <br>
          <div class="btn-group">
            &nbsp;
          </div>
        </div>
      </div>
    </div>
    <?php } ?>
  </div>
</div>

Hasil Akhir

Apabila kita buka alamat http://localhost/seme_framework/ melalui browser, maka akan menampilkan seperti apa yang ada didalam screenshot dibawah ini. Apabila tampilannya sudah sama persis, maka tutorial ini sudah berhasil dikuasai.