Membuat sendiri active record sederhana ala framework

Jaman sekarang banyak bermunculan framework-framework berbasis php seperti CodeIgniter, Cake php, YII dsb. Salah satu keunggulan framework tersebut adalah fasilitas active record database yang dibuat simple dan dapat mempercepat kita dalam proses pembuatan project aplikasi website.
Pada tutorial kali ini saya akan membagikan trik bagaimana membuat sendiri active record sederhana la framework berbasis PHP dan database Mysql.
Ok langsung saja. Dalam tutorial ini hanya akan dijelaskan beberapa jenis active record saja,  dengan tujuan supaya pembaca lebih bisa berkreasi lagi dengan teknik yang lainnya....:-)
Berikut ini adalah langkah-langkah pembuat  active record ala framework

Pertama buatlah database bernama fuadsetiawan
Kedua buat tabel bernama berita, berikut sintax struktur tabel berita. Selajutnya isi tabel tersebuat dengan beberapa data sebagai contoh
--
-- Table structure for table `berita`
--

CREATE TABLE IF NOT EXISTS `berita` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `judul` varchar(30) NOT NULL,
  `isi` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Ketiga buat file bernama active_record.php. Dalam file tersebut berisi class active record dan berbagai method2 active record database
<?php
Class Active_record{

       // Active record dengan full query     

       public function query($query)
       {
             $q=mysql_query("$query") or die(mysql_error);
             return $q;
       }

 

       // Active record untuk menampilkan seluruh data

       public function getAll($tabel) 
       {
             $q = mysql_query("select * from $tabel") or die(mysql_error);
             return $q;
       }

 

       // Active record untuk menampilkan data kolom tertentu didatabase 

       public function getData($tabel, $kolom) 
       {
              $q = mysql_query("select $kolom from $tabel") or die(mysql_error);
              return $q;
       }

 

       // Active record untuk menampilkan data dengan kriteria tertentu

       public function getWhere($tabel, $kolom, $where) 
       {
             $q = mysql_query("select $kolom from $tabel where $where") or die(mysql_error());
             return $q;
       }


       // Active record untuk menampilkan data dengan pengurutan

       public function getOrder($tabel, $kolom, $order, $sort) 
       {
             $q = mysql_query("select $kolom from $tabel order by $order $sort") or die(mysql_error());
             return $q;
       }


       // Active record untuk menampilkan data yang dibatasi jumlanya dengan limit

       public function getLimit($tabel, $kolom,$limit) 
       {
            $q = mysql_query("select $kolom from $tabel limit $limit") or die(mysql_error());
            return $q;
       }

     

       // Active record untuk menampilkan jumlah data       

        public function numRows($q) 
        {
              $q = mysql_num_rows($q) or die(mysql_error());
              return $q;
        }


       // Menampilkan data berbentuk row array

        public function row_array($param) 
        {
              return mysql_fetch_array($param);
        }

 
       // Menampilkan data dengan row Object

        public function row($param) 
        {
             return mysql_fetch_object($param);
        }

 }
?>

Keempat buat file koneksi.php, 
<?php
 
mysql_connect("localhost","root","") or die("Koneksi gagal");
 
mysql_select_db("jagocoding") or die("Gagal memilih database");
  
?>

Kelima atau yang terakhir untuk cara pemakaian active record,  buatlah file bernama index.php
<?php 

require_once "koneksi.php";
require_once "active_record.php";

// Buat object

$db=new Active_record();


// Mengambil seluruh data dari tabel berita

$query=$db->getAll('berita');


// Menampilkan data dengan row object

while ($data=$db->row($query)) 
{
  echo "<h2>".$data->judul."</h2>";
  echo "<p>".$data->isi."</p>";
}

// Menmpilkan jumlah data
echo "<br/>";
echo "Jumlah berita = ".$db->numRows($query);

?>

Sekian tutorial membuat sendiri active record sederhana ala framework,
semoga dapat bermanfaat bagi pembaca sekalian


Download Source Code                              Online Demo




Salam penulis
Fuad Indra Setiawan


0 comments:

Posting Komentar