Fiyo CMS Documentations

Untuk melakukan konesi kedalam database, Fiyo memerlukan file config.php. File tersebut berisi variabel yang digunakan untuk koneksi ke database. Berikut konfigurasi untuk file config.php

 
$DBName = 'nama_database';
$DBHost = '127.0.0.1/localhost';
$DBUser = 'root';
$DBPass = ''; 
$DBPrefix = 'fiyo_';

Setelah file config ditemukan oleh index.php dan diteruskan ke proses system/core.php yang selanjutkan ke proses utama database yaitu file query.php. Disana variabel dari config.php diubah menjadi konstanta baru.

define('FDBUser', $DBUser);
define('FDBPass', $DBPass);
define('FDBHost', $DBHost);
define('FDBName', $DBName);
define('FDBPrefix', $DBPrefix);

Konstanta diatas berguna ketika kita melakukan query sql. Fiyo masih menggunakan mysql sebagai databasenya. Terdapat class yang bisa digunakan untuk mengontrol database dan diusahakan menggunakan class ini atau turunan dari class ini untuk kemanan website yang digunakan.

class FQuery

untuk menggunakan class ini anda perlu mendefinisikan terlebih dahulu kedalam variabel jika ingin menggunakan fungsi didalamnya. Misal saya memberikan nilai variabel db sebagai class FQuery.

$db = new FQuery();

Disini, langkah awal untuk pemanggilan class FQuery sudah berhasil dilakukan.

Database Connection

Untuk melakukan koneksi database anda bisa memanfaatkan fungsi connect pada class FQuery, berikut penerapanya :

$db = new FQuery();
$db -> connect();

Baris diatas adalah memanggil class FQuery yang dimasukan kedalam variabel db. Dan memanggil fungsi connect pada variabel db atau class FQuery. Sampai baris ini anda sudah bisa menyambungkan ke database.

Untuk memilih database lain dari databse yang telah ditentukan sebelumnya di file config.php bisa dilakukan dengan memanggil fungsi setDatabase('nama_database').

$db = new FQuery();
$db -> connect();
$db -> setDatabase('nama_database');

 

CRUD (create, read, update & delete)

Ini merupakan hal mutlak dalam setiap aplikasi, sebagai developer kita juga harus tau bagaimana proses CRUD dilakukan. Setelah berhasil melakukan koneksi kedatabase mungkin pertama kali akan mencoba membaca data dari database.


Base Query

Untuk query dasar atau melakukan query kedatabase bisa memanggil fungsi query( $sql ).

$db -> query('query_sql_here');

Namun cara ini tidak disarankan jika menggunakannya untuk proses CRUD data tabel. Lebih disarankan menggunakan perintah fungsi dibawah ini.


Select Query

Fiyo memiliki database prefix yang berguna untuk menjaga kemanan database dari nama database pada umumnya.
Mohon untuk menggunakan ini untuk membuat Fiyo AddOns dan sisipkan FDBPrefix sebelum nama tabel.

$table = FDBPrefix.'nama_table'; 

Dan berikut adalah query untuk memilih data.

$db -> select($table, $rows = null, $where = null, $order = null);

$table merupakan string dimana anda bisa mengisikan nama tabel.

$rows merupakan baris dari tabel, jika dikosongkan akan memilih semua baris.

$where merupakan kondisi dari query, misal id = 2 atau nama = 'First Ryan'.

$order merupakan pengurutan table, diisikan 'baris pengurutan'.

Penerapan fungsi select seperni baris berikut :

$db = new FQuery();
$db -> connect();
$db -> select(FDBPrefix.'nama_table', '*', 'status = 1', 'name ASC');

baris diatas hanyalah query untuk memilih saja dan belum menampilkan atau menyajikan data dalam bentuk array.

Biasanya menggunakan mysql_fetch_array() untuk menampilkan data satuan.

$db = new FQuery();
$sql = $db -> select(FDBPrefix.'nama_table', '*', 'status = 1', 'name ASC');
$row = mysql_fetch_array($sql);
echo $row['row_name'];

Untuk menampilkan banyak baris anda perlu perulangan pada $sql dan bisa menggunakan fungsi while() :

$db = new FQuery();
$sql = $db -> select(FDBPrefix.'nama_table', '*', 'status = 1', 'name ASC');
while($row = mysql_fetch_array($sql)) {
   echo $row['row_name']."<br>";
}


Insert Query

Untuk menyisipkan atau menambahkan data baru kedalam tabel, anda bisa menggunakan fungsi insert(). Berikut fungsi dan atribut untuk fungsi insert

$db -> insert($table, $values,$rows = null);

Penerapanya sebagai berikut.

$db = new FQuery();
$db -> insert(FDBPrefix.'nama_tabel', array('value1','value2','value3'));

Atau menyisipkan data pada baris tertentu

$db = new FQuery();
$db -> insert(FDBPrefix.'nama_tabel', array('value1'), array('row1'));


Delete Query

Untuk menghapus data yang ada pada tabel bisa menggunakan fungsi delete().

$db -> delete($table, $where = null);

$where digunakan untuk kondisi persyaratan, misal nama = 'First Ryan' atau id = 1.

Penerapanya sebagai berikut :

$db = new FQuery();
$db -> delete(FDBPrefix.'nama_tabel', 'name = 1 ');

Untuk menghapus semua data penerapanya seperti berikut :

$db = new FQuery();
$db -> delete(FDBPrefix.'nama_tabel');


Update Query

Untuk merubah data perlu data baru, baris, dan persyaratan update. Anda bisa menggunakan fungsi update()

$db = new FQuery();
$db -> update(FDBPrefix.'nama_tabel', array('name'=>' First Ryan'), 'id = 1');