Minggu, 02 Desember 2012

Fungsi PHP untuk menghitung selisih atau jarak 2 tanggal

Menghitung selisih atau jarak antara 2 tanggal bukanlah hal sulit menggunakan script PHP. tapi itu setelah saya menemukan script ini ... ini sudah lama saat saya sedang mengerjakan suatu aplikasi dan ternyata terdapat beberapa bagian yg mengharuskan menghitung jarak antara 2 tanggal menggunakan script php.

bukannya plagiat, tapi saya hanya ingin berbagi semoga ada yg merasa membutuhkan dan terbantu.
dan bagi yang tau sumbernya juga boleh ditulis.. karena fungsi ini bukan saya yang membuat saya hanya tinggal memanfaatkannya, :-)

yah langsung aja, pasti kalo temen - temen lagi baca udah ga sabar :


<?php
  // Set timezone
  date_default_timezone_set("UTC");

  // Time format is UNIX timestamp or
  // PHP strtotime compatible strings
  function dateDiff($time1, $time2, $precision = 6) {
    // If not numeric then convert texts to unix timestamps
    if (!is_int($time1)) {
      $time1 = strtotime($time1);
    }
    if (!is_int($time2)) {
      $time2 = strtotime($time2);
    }

    // If time1 is bigger than time2
    // Then swap time1 and time2
    if ($time1 > $time2) {
      $ttime = $time1;
      $time1 = $time2;
      $time2 = $ttime;
    }

    // Set up intervals and diffs arrays
    $intervals = array('year','month','day','hour','minute','second');
    $diffs = array();

    // Loop thru all intervals
    foreach ($intervals as $interval) {
      // Set default diff to 0
      $diffs[$interval] = 0;
      // Create temp time from time1 and interval
      $ttime = strtotime("+1 " . $interval, $time1);
      // Loop until temp time is smaller than time2
      while ($time2 >= $ttime) {
$time1 = $ttime;
$diffs[$interval]++;
// Create new temp time from time1 and interval
$ttime = strtotime("+1 " . $interval, $time1);
      }
    }

    $count = 0;
    $times = array();
    // Loop thru all diffs
    foreach ($diffs as $interval => $value) {
      // Break if we have needed precission
      if ($count >= $precision) {
break;
      }
      // Add value and interval 
      // if value is bigger than 0
      if ($value > 0) {
// Add s if value is not 1
if ($value != 1) {
 $interval .= "s";
}
// Add value and interval to times array
$times[] = $value . " " . $interval;
$count++;
      }
    }

    // Return string with times
    return implode(", ", $times);
  }
?>

nah tadi itu script yang berisikan fungsi datediff();
akan lebih baik kamu buat dalam 1 file tersendiri misal dinamakan datediff.php
dan nantinya ketika kamu memperlukan fungsi ini cukup memanggilnya menggunakan include ataupun require di php. terserahlah. :-) nah selanjutnya saya berikan sedikit contoh pemakaian atau cara memakai fungsi datediff ini :


fungsi di php :

<?php
include('datediff.php');
echo dateDiff("2010-01-26", "2004-01-26") . "\n"; 
echo dateDiff("2006-04-12 12:30:00", "1987-04-12 12:30:01") . "\n"; 
echo dateDiff("now", "now +2 months") . "\n"; 
echo dateDiff("now", "now -6 year -2 months -10 days") . "\n";
echo dateDiff("2009-01-26", "2004-01-26 15:38:11") . "\n";
?>

Hasil di broser :
6 years
18 years, 11 months, 30 days, 23 hours, 59 minutes, 59 seconds
2 months
6 years, 2 months, 10 days
4 years, 11 months, 30 days, 8 hours, 21 minutes, 49 seconds

================================================

Penulisan fungsi :
<?php
include('datediff.php');
echo dateDiff(time(), time()-1000000, 1) . "\n";
echo dateDiff(time(), time()-1000000, 3) . "\n"; 
echo dateDiff(time(), time()-1000000, 6) . "\n";
?>
hasilnya :
11 days
11 days, 13 hours, 46 minutes
11 days, 13 hours, 46 minutes, 40 seconds

================================================

script php :
<?php
include('datediff.php');
$time1 = time(); 
$time2 = $time1-10000000;
echo $diff = dateDiff($time1, $time2) . "\n"; 
echo $time1 . "\n";
echo strtotime(" +".$diff, $time2) . "\n";
?>
hasilnya :
3 months, 23 days, 17 hours, 46 minutes, 40 seconds
1264514564
1264514564

sekian untuk fungsi kali ini.. I LOVE PHP, dateDiff digunakan untuk mendapatkan nilai jarak/selisih dari 2 tanggal.
semoga bermanfaat :-)

Sabtu, 10 November 2012

"Nyiur dapat Tumbuh dimana saja"

Pengalamanku Hari ini banyak...
Banyak, tak terasa sudah 3 Bulan aku hidup di jakarta, tempat yang sangat berbeda dari daerah asalku. Banjarngera, Jawa tengah. di jaka benar - benar rta ini aku benar benar merasa asing, awalnya.. sekarang aku sudah bisa lebih bijak memposisikan keberadaanku, yah pasti pernah dnger
 "Nyiur dapat Tumbuh dimana saja "
yang membuktikan besarnya daya upaya dalam menyesuaikan diri
 dalam missi dimana dia berada dan dalam keadaan bagaimanapun juga.
Sekarang bukan lagi waaktunya selalu bergantung pada orang lain, yakin dan pasti kita butuh orang lain tapi untuk menjadi seorang individu dengan kemampuan yang mencukupi kita juga harus memiliki kemampuan individu yg hebat dan terasah, betul kan ?

Hari ini yang paling berkesan saat memberanikan diri (Sendirian) melangkahkan kaki di Grand indonesia (Jakarta Pusat). Waw.. itu yang aku pikirkan saat memasukinya. sudah berkali - kali masuk ke beberapa tempat yang "keren" tapi kali ini aku merasa Sangat kecil. ditammbah pakaianku yg saat itu sangat sederhana (style biasa, aku ga suka ribet).

Rencananya si mau lihat film 3D tapi akhirnya terbuai oleh Lengkapnya buku yang ada di GRAMEDIA lantai 3. wah.. baca buku dan pemandangannya Bunderan HI, dari kecil samapi umur 20 tahun.. mimpi aja ngga pernah. kali ini nyata... Pengalaman yang berharga untuk orang sepertiku. ssecara ini yang pertama kali.

Besok besok pasti jadi hal yang biasa karena Tiap hari juga lewatin Grand indonesia, soalnya Kantor tempat kerjaku ada di Thamrin City.. sering - sering mamir deh besok2...

Sesekali kita perlu berdamai dengan hati.. Kita berikan apa yang hati ini inginkan. semoga kita bisa termotivasi, karena saat aku berdiri disana aku sadar.. aku hanya sebagian keci dari jakarta. apalagi BUMI ini.. dan betapa kecilnya aku dihadapan Allah S.W.T.

Alhamdulillah masih diberikan peringatan dan kesadaran. aku harus jadi Lebih besar lagi.. Besar dimata dunia dan besar dihadapanNya, Mari kita evaluasi masing - masing, 

Seberapa hebat dirimu ?
Kemampuan Khsusus apa yang bisa dirimu banggakan ?
di bidang apa dirimu jadi yang TERBAIK ?
Sekuat apa semangat dan motivasimu agar tetap menatap masa depan ?
dan Sedekat apa dirimu dengan diriNya ? maka berdoalah..

Mungkin aku juga harus mawas diri. dan lebih giat lagi belajar..
karena aku sendiri belum puas dengan jawaban yang aku punya dari pertanyaan tersebut.
Semoga kawanku bisa bertahan dimanapun dirimu berada.. Bersabar dan Bertawakalah.. seemoga kita selalu diberikan petunjuk olehNya. 

Thank's buat teman - teman yang mampir.. semoga teman - teman juga berkenan berbagi pengalaman. :-)

Sabtu, 20 Oktober 2012

Bersyukur Menjadi anak Desa

Sedikit Mengingat masa lalu saat aku kecil, 7 tahun mungkin saat itu usiaku. Aku ingat Setiap pulang sekolah pasti langsung main. tapi temen - temen tau ngga permainan apa yang saya mainkan dan dimana tempatnya ? sekarang 20 tahun usiaku, ingat masa lalu adalah hal yang menyenangkan.
Sungai, Sawah dan Kebun adalah Tempat paling aku kenal, karena disitu aku besar. seperti manusia rimba saja ya..  tapi ditempatku itu hal yang biasa dan itu bukan hal yang buruk, saya bahagia.
Tapi sungguh tak pernah terpikir aku akan jadi apa... Paling Hebat juga jadi Petani, Petani yang sukses pastinya (Mimpi harus TInggi). atau jadi apa ya... yg jelas aku tak tau sedikitpun tentang Teknologi entah itu Handphone Bahkan Koputer. Nonton TV aja dirumah temen, yang aku ingat saat itu setiap hari minggu pagi pasti terus kerumah temen2 yg punya TV ikut nonton bareng, Soalnya TV aja ngga punya, tapi aku penggemar Cartoon gitu..
Alhamdulillah.. sekarang aku bisa bekerja, minimal buat makan sendiri lah.. dan yang paling aku bangga(untuk diri sendiri), orang sepertiku, bisa kerja mainan Komputer gini, tiap hari kerjana cuma ngetik doang.. yah aku syukuri.. semoga kemampuanku tetap berkembang, harus selalu belajar... saya harap teman - teman juga ya.. semoga sukses.
 20 tahun buatku masih muda.. aku masih ingin berlari - larian bercanda tawa dan berlaku seenaknya. meskipun begitu dijakarta itu susah. Cerita sedikit pengalaman.. Pernah saya sedang lari sedikit aja.. terus pada tanya dikira ada apa (lagi dikejar maling, atau saya maling yang sedang dikejar ?)  padahal pengin lari balapan sama temen.. aduh memang harus beradaptasi.
Tapi kali ini yang ingin saya ingat adalah :
"Saya bersyukur bisa Bekerja mandiri, mengingat background dan kondisiku di SANA, di DESAKU",
disini (jakarta) mungkin itu hal yang biasa.. toh Pekerja seperti saya juga ga kaya - kaya amat.. pulang pergi masih naik busway, belum bisa beli Mobil.. tapi yang terpenting saya menyukai dan saya nyaman dengan ini.
Belum pantas saya bilang seperti ini -"Teman - teman, Percayalah.. gapailah cita - citamu, Pasti bisa asal ada kemauan"- sedang cita - citaku sendiri belum tercapai. tapi saya yakin saya masih dalam jalur yang benar untuk menggapai cita - citaku. Selalu, sampai sekarang saya sangat penasaran dengan Hal seperti apakah yang dapat membuat saya bisa PUTUS ASA.
Hanya Berharap CItaku tak akan redup.. karena itulah yang ingin aku raih.. tak akan aku mudah putus asa meskipun aku hanya orang lemah dan awam tapi Berusaha itu selalu dan Akhirnya kita berdoa Semoga Allah SWT memberikan Hasil yang Memuaskan.

:-)

Kamis, 30 Agustus 2012

Session pada Code Igniter

Autentikasi adalah suatu mekanisme untuk mengatur hak akses suatu halaman web, biasanya diawali dengan adanya proses login. Dimana user diminta menginput user id dan password. Jika berhasil login kamu berhak masuk ke suatu halaman, jika tidak..anda tidak akan bisa masuk ke halaman tersebut
Session adalah sebuah varibel sementara yang diletakkan di server. Di mana PHP bisa mengambil nilai yang tersimpan di server walaupun kita membuka halaman baru. Biasanya session akan hilang jika kamu menutup browser.
Sebelum kamu menggunakan fungsi – fungsi tentang session di CI kamu hrus memanggil library session terlebih dahulu dengan cara :
$this->load->library('session');
Selanjutnya cara kita membuat atau memasukan nilai ke variabel sementara atau session :
$this->session->set_userdata('some_name', 'some_value');
Atau bisa juga dengan menggunakan arra :
$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );

$this->session->set_userdata($newdata);

Setelah itu jika anda ingin mengambil atau memakai nilai dari session maka cara memanggilnya seperti ini :
$session_id = $this->session->userdata('session_id');
Dan terakhir perintah untuk menghapus atau mengosongkan session :
$this->session->unset_userdata('some_name'); 

Setelah kamu paham dengan ini pasti untuk pembuatan Login dan autentifikasinya sudah tidak akan kesulitan, tinggal pahami alurnya. :-)

Silahkan download tutorial Code Igniter Bahasa Indonesia Disini. 

Active Recoord Update dan delete pada CI

 Banyak Cara yang bisa digunakan untuk Menjalankan Query, tapi berikut saya berikan contoh yang  paling sederhana cara menyimpan data ke database dan menghapus record. semoba bermanfaat..

Query untuk Edit data (Update)

$this->db->update();
Digunakan untuk mengedit/update data suatu tabel berdasarkan nilai tertentu. Conotoh :
$data = array(
               'title' => $title,
               'name' => $name,
               'date' => $date
            );
$this->db->where('id', $id);
$this->db->update('mytable', $data);

hasil : UPDATE mytable  SET title = '$title', name = '$name', date = '$date' WHERE id = $id
Selain contoh diatas kamu jugab bisa mengedit data menggunakan tambahan fungsi set() seperti contoh insert di atas.

Menghapus Data di Table (Delete)

$this->db->delete();
Diguanakan untuk menghapus satu atau beberapa data dalam tabel berdasarkan nilai tertentu.

$this->db->where('id', $id);
$this->db->delete('mytable');

// hasil : DELETE FROM mytable WHERE id = $id
Sedangkan contoh berikut, digunakan untuk menghapus suatu nilai pada bebrapa tabel sekaligus dalam 1 perintah :
$tables = array('table1', 'table2', 'table3');
$this->db->where('id', '5');
$this->db->delete($tables);
Ket : menghapus data dengan id=5 di tabel1, tabel2 dan tabel 3.
-------------------------------------------------------------
$this->db->empty_table();
Digunakan Untuk Menghapus seluruh data di suatu tabel.
$this->db->empty_table('mytable');

// hasil : DELETE FROM mytable
--------------------------------------------------------------
$this->db->truncate();
Digunakan untuk mengosongkan data di suatu tabel.
$this->db->from('mytable');
$this->db->truncate();
// or
$this->db->truncate('mytable');

// hasil : TRUNCATE mytable

Akhirnya untuk active record yang umum, insert, edit, dan delete sudah saya buat. yah walaupun tutorialnya masih sederhana dan mungkin penyampaianyya kurang jelas. tapi semoga bermanfaat dan Silahkan download tutorial Code Igniter Bahasa Indonesia Disini.  

Active Record - Menambahkan data (insert)


Berikut perintah untuk menambahkan data dengan active record pada Framework Code Igniter.

$this->db->insert();
Fungsi ini digunakan untuk menambahkan data ke tabel : 
$data = array(
   'title' => 'My title' ,
   'name' => 'My Name' ,
   'date' => 'My date'
);

$this->db->insert('mytable', $data);

// hasil : INSERT INTO mytable (title, name) VALUES ('My title', 'My name')
$this->db->insert_batch()
Anda juga bisa menambahkan beberapa data sekaligus dalam 1 perintah dengan membuat nilainya ke dalam bentuk array. contoh :
$data = array(
   array(
      'title' => 'My title' ,
      'name' => 'My Name' ,
      'date' => 'My date'
   ),
   array(
      'title' => 'Another title' ,
      'name' => 'Another Name' ,
      'date' => 'Another date'
   )
);
$this->db->insert_batch('mytable', $data);
hasil querinya  : INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date')
$this->db->set();
Digunakan untuk mengatur satu atau beberapa field dengan nilai yang akan di tambah ke table. Funsi juga bisa berjalan di Update(), pemakaiannya sama.
$this->db->set('name', $name);
$this->db->set('title', $title);
$this->db->set('status', $status);
$this->db->insert('mytable');


Silahkan download tutorial Code Igniter Bahasa Indonesia Disini.  

Active record - Membentuk Hasil Query dengan result()

Result()

Fungsi ini mengembalikan hasil query sebagai array obyek, atau array kosong pada kegagalan. Biasanya kamu akan menggunakan ini dalam sebuah loop foreach, seperti ini:
Contoh :
$query = $this->db->get(‘nama_tabel’);
foreach ($query->result() as $row){
   echo $row->field1;
   echo $row->field2;
   echo $row->field_n;
}
Fungsi di atas adalah alias dari result_object ().
Jika kamu menjalankan query yang mungkin tidak menghasilkan nilai, saya anjurkan untuk menguji hasil terlebih dahulu dengan cara
$query = $this->db->query("YOUR QUERY");

if ($query->num_rows() > 0) // mengecek hasil query ada atau tidak
{
   foreach ($query->result() as $row){
      echo $row->title;
      echo $row->name;
      echo $row->body;
   }
}

result_array()

Fungsinya sama seperti result() tapi fungsi ini menghasilkan array murni dari hasil query.
$query = $this->db->query("YOUR QUERY");

foreach ($query->result_array() as $row){
   echo $row['title'];
   echo $row['name'];
   echo $row['body'];
}

$query->num_rows()

Memberikan nilai balik berupa jumlah dari baris hasil eksekusi query.
$query = $this->db->query('SELECT * FROM my_table');
echo $query->num_rows();



Silahkan download tutorial Code Igniter Bahasa Indonesia Disini. 

Active Record - Select Query


Untuk Memilih data dari database ( Select )

$this->db->get();
Digunakan untuk menyeleksi seluruh data pada suatu table di database.
Contoh :
  • $query = $this->db->get('mytable');  
    // menghasilkan : SELECT * FROM mytable
  • $query = $this->db->get('mytable', 10, 20); 
    // menhasilkan : SELECT * FROM mytable LIMIT 20, 10
    (limit ini untuk database mysql, di database lain bisa berbeda script)
Bisa dilihat diatas menghasilkan data untuk variable query yang bisa kita oleh seperti ini :
$query = $this->db->get('nama_tabel');
foreach ($query->result() as $baris) {
    echo $baris->nama_field;
}
Fungsi result() digunakan untuk membuat objek atau array kosong jika salah, nanti akan dibahas lebih dalam.
---------------------------------------------------------------
$this->db->get_where();
Digunakan untuk menyeleksi dan memberikan kondisi where, menggantikan get_where() pada versi sebelumnya.
$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
Hasilnya : Select * from mytable where id=’$id’ limit $limit,$offset
---------------------------------------------------------------
$this->db->select();
Digunakan untuk menyeleksi satu atau bebrapa field saja pada suatu query.
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
// hasilnya : SELECT title, content, date FROM mytable
---------------------------------------------------------------
$this->db->select_max();
Digunakan untuk memberikan nilai maksimal suatu field, atau bebrapa field pada table tertentu
$this->db->select_max('age');
$query = $this->db->get('members');
// Menghasilkan : SELECT MAX(age) as age FROM members

$this->db->select_max('age', 'member_age');
$query = $this->db->get('members');
// Menghasilkan : SELECT MAX(age) as member_age FROM members
---------------------------------------------------------------
$this->db->select_min();
Digunakan untuk memberikan nilai miniimal suatu field, atau bebrapa field pada table tertentu, , cara penulisan dan pemakaiannya sama seperti select_max()
$this->db->select_avg();
Digunakan untuk menghitung nilai rata – rata suatu field, cara penulisan dan pemakaiannya sama seperti select_max()
$this->db->select_sum();
Digunakan untuk menghitung jumlah nilai dari suatu field, cara penulisan dan pemakaiannya sama seperti select_max()
---------------------------------------------------------------
$this->db->from();
Digunakan untuk memilih table yang akan di SELECT, sebenarnya kita bisa dan cukup memilih table pada get() jadi semua terserah kamu ingin memakai yang mana.
$this->db->select('title, content, date');
$this->db->from('mytable');
$query = $this->db->get();

// Menghasilkan : SELECT title, content, date FROM mytable
---------------------------------------------------------------
$this->db->join();
Digunakan untuk menggabungkan beberapa table,
$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$query = $this->db->get();
// Menghasilkan : SELECT * FROM blogs JOIN comments ON comments.id = blogs.id
Jika kamu ingin memberikan penggabungan yang lain kamu bisa memberikan nilai pada parameter ke 3 dengan nilai : left, right, outer, inner, left outer, and right outer.
$this->db->join('comments', 'comments.id = blogs.id', 'left');
// Menghasilkan : LEFT JOIN comments ON comments.id = blogs.id
---------------------------------------------------------------
$this->db->where();
Digunakan untuk memberikan kondisi Where pada penyeleksian table. Nilai/value yang digunakan dalam fungsi ini juga otomastis fileter untuk wild character (Escaped automatically) jadi aman.
$this->db->where('name', $name);
// menhasilkan : WHERE name = 'Joe
Tapi jika kamu menggunakannya lebih dari Satu maka hasilnya menjadi  Where … AND
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
// Menghasilkan : WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
Atau kamu juga bisa mengganti kondisi method where nya
$this->db->where('name !=', $name);
$this->db->where('id <', $id);
// Menghasilkan : WHERE name != 'Joe' AND id < 45
Dan mungkin kamu ingin cara manual seperti biasanya :
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where);
Mudah bukan ? J
---------------------------------------------------------------
$this->db->or_where();
Digunakan untuk memberikan wher lebih dari satu dengan kondisi ATAU.
$this->db->where('name !=', $name);
$this->db->or_where('id >', $id);
// Menghasilkan : WHERE name != 'Joe' OR id > 50
---------------------------------------------------------------

$this->db->where_in();

Bagi kamu yang sudah mempelajari SQL dengan detail dan dalam, pasti paham ini.
$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Menghasilkan : WHERE username IN ('Frank', 'Todd', 'James')
---------------------------------------------------------------
$this->db->like();
Digunakan membuat query dengan syarat Like atau seperti nilai yg diberikan.
$this->db->like('title', 'match');
$this->db->like('body', 'match');
// WHERE title LIKE '%match%' AND body LIKE '%match%
Atau mungkin kamu ingin membuat kuery dengan kondisi Like seperti ini :
$this->db->like('title', 'match', 'before');
// Menghasilkan : WHERE title LIKE '%match'

$this->db->like('title', 'match', 'after');
// Menghasilkan : WHERE title LIKE 'match%'

$this->db->like('title', 'match', 'both');
// Menghasilkan : WHERE title LIKE '%match%'
---------------------------------------------------------------
$this->db->or_like();
Pemakaiannya sama seperti Like() or_like() digunakan untuk kondisi OR (atau) dengan like.
$this->db->like('title', 'match');
$this->db->or_like('body', $match);
// WHERE title LIKE '%match%' OR body LIKE '%match%'
---------------------------------------------------------------
$this->db->group_by();
Digunakan untuk memberikan method group by.. atau kelompokan berdasarkan ..
$this->db->group_by(array("nama_field1", "nama_field2"));
// Menghasilkan : GROUP BY title, date,
Digunakan untuk
---------------------------------------------------------------
$this->db->order_by();
Digunakan untuk mengurutkan data berdasarkan nilai.
$this->db->order_by("title", "desc");
// Menghasilkan : ORDER BY title DESC
---------------------------------------------------------------
$this->db->limit();
Digunakan untuk mebatasi jumlah baris yang akan ditampilkan dari hasil query
$this->db->limit(10);
// Produces: LIMIT 10
Atau kamu ingin membuatnya seperti ini :
$this->db->limit(10, 20);

// menghasikan : LIMIT 20, 10 (di mysql, kalau database lain beda perintah)
---------------------------------------------------------------
$this->db->count_all_results();
Digunakan untuk Menampilkan nilai dari jumlah baris hasil query, hampir sama dengan num_row().
echo $this->db->count_all_results('my_table');
// menghasilkan nilai integer, misalkan :  25

$this->db->like('title', 'match');
$this->db->from('my_table');
echo $this->db->count_all_results();
// menghasilkan nilai integer, karena ada kondisi misalkan jadi :  17
---------------------------------------------------------------

Seperti itulah. jadi simple dan mudah, silahkan baca artikel selanjutnya untuk active record Insert, Update dan delete.  ATAU
Silahkan download tutorial Code Igniter Bahasa Indonesia Disini.  

Models pada frameworl CodeIgniter


Model adalah class yang berguna untuk mengatur hubungan dengan database, karan pasti kita akan melakukan insert, update delete dll, dan dengan dibuatnya class / model ini kita tidak perlu brulang ulang kembali menuliskan script tersebut. Akan tetapi model ini tidak harus ada semua terserah programmer, karena di controllerpun sebenarnya bisa mengurusi data ke database tapi kalau kamu ingin kemudahan model merupakan solusinya.
class M_artikel extends CI_Model {

    var $judul   = '';
    var $isi = '';
    var $tanggal    = '';
    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }
     function get10ArtikelTerbaru()
    {
        $query = $this->db->get('entries', 10);
        return $query->result();
    }
    function tambahArtikel()
    {
        $this->judul   = $_POST['judul'];
        $this->isi = $_POST['isi'];
        $this->tanggal    = time();
        $this->db->insert('entries', $this);
    }
    function update_entry()
    {
        $this->judul  = $_POST['judul'];
        $this->isi = $_POST['isi'];
        $this->tanggal    = time();
        $this->db->update('entries', $this, array('id' => $_POST['id']));
    }
}

Simpan dengan nama m_artikel.php (seperti biasa, penamaan class sama dengan nama filenya) untuk model folder penyimpanannya ada di application/models/
Mungkin bagi yang baru belajar CI ini terlihat script diatas terlihat asing, tapi seperti itulah di CI kita memakai Active Record.  Untuk active record detailnya kita bahas nanti, yang penting disini kamu hanya harus tau apa itu model. J
Dan dibawah contoh pemakaian model di controller. class Artikel extends CI_Controller {

    function terbaru()    {
      $this->load->model('M_artikel');
$data['query'] = $this->M_artikel->get10ArtikelTerbaru();
$data[‘title’]= ‘Artikel Terbaru’;
      $this->load->view('v_artikel', $data);
    }
}

Simpan di folder controller dengan namaartikel.php, ingat untuk mengatur database di file controller/database.php. sekarang kita buat di viewnya :
<html>
<head><title><?php echo $title; ?></title></head>
<body>
<?php
foreach($query->result() as $row){
echo “<h3> “.$row[‘judul’].” </h3>”;
echo “tanggal : “.$row[‘tgl’].”.  “.$row[‘isi’].”<br>”;
echo “<hr>”;
}
?>
</body>
</html>

Ok. Simpan dengan nama v_artikel.php di application/views
Silahkan dilihat hasilnya : http://localhost/webku/index.php/artikel/terbaru

Silahkan download tutorial Code Igniter Bahasa Indonesia Disini. 

Views pada Framework Code Igniter


Setelah Controler kita mempelajari view terlebih dahulu, karena kita bisa membuat web hanya dengan controller dan view, langsung saja contohnya seperti ini, kita ingin membuat web dengan 2 halaman, home dan profil  :
Pertama kita buat file home.php

<html>
<head>
<title>Halaman awal</title>
</head>
<body>
<h1>Selamat dating, ini adalah halaman awal  !.</h1>
</body>
</html>


Dan  untuk profil.php silahkan buat sendiri, J jangan lupa simpan di folder application/views/
Lalu kita buat controlernya :
 
<?php
class Pages extends CI_Controller {
function home(){                                 // membuat method bernama home
$this->load->view('home');
}
function profil()           {
$this->load->view('profil');
}
}


$this->load->view('home');  => disini kita me load  halaman home.php yang berada di folder application/view/  yang kita buat, kita tidak perlu memberikan extensi .php cukup nama filenya saja.
Coba : http://localhost/webku/index.php/pages/home                                dan
http://localhost/webku/index.php/pages/profil
selanjutnya buat folder bernama ‘templates’ di folder view,  kita juga bisa seperti ini :

<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>

Simpan sebagai header.php di folder  application/view/templates

<a href=’#”>home</a><a href=’#”>Profil</a><a href=’#”>hubungi saya</a>
Simpan sebagai menu.php di folder  application/view/templates 

<hr>
Copyright @ 2012 <br>
Website by saefulloh Rifa’i
</body>
</html>

Simpan sebagai footer.php di folder  application/view/templates 

Dan kita tinggal buat isinya. Silahkan terserah mau buat apa, untuk contoh :

<h1>ini adalah halaman awal</h1>
<p>kita buat isi artikel atau paragraf</p>

Simpan sebagai conten.php di folder  application/view/templates 

Selanjutnya kita buat Controlernya.
<?php
class Page extends CI_Controller {
   function index()
   {
      $data['title'] = 'Beajar CI Controler & View';
      $this->load->view('templates/header');
      $this->load->view('templates/menu');
      $this->load->view('templates/content', $data);
      $this->load->view('templates/footer');
   }
}
?>

Silahkan dilihat hasilnya : http://localhost/webku/index.php/page/index

Silahkan download tutorial Code Igniter Bahasa Indonesia Disini. 

Selamat Datang

Selamat Datang, Semoga website ini bisa bermanfaat. jangan lupa tinggalkan Coment dan Sharing artikel jika dirasa itu bermanfaat. Terima Kasih.