Home / Pemrograman / MYSQL / PHP Native dan Codeigniter

PHP Native dan Codeigniter

Dalam tahun ini dan seterusnya mungkin saya akan berhadapan dengan framework codeigniter, dikarenakan tuntutan pekerjaan saya untuk saat ini. Oleh karena itu saya mau ngk mau harus belajar apa itu framework codeigniter, background saya selama ini hanya PHP Native yang merancang seluruh coding di dalam satu file .php saja sedangkan framework codeigniter ini memiliki metode MVC (Model, View dan Controller) dan itu membuat saya harus ekstra hati-hati dalam merancang coding di framework codeigniter ini. Banyak perbedaan dari kedua sisi ini, salah satunya perbedaan peletakan coding, setelah ini kita akan membahas perbedaan peletakan coding.

Sebelum melanjutkan coding ini kalian sebaiknya menyiapkan database terlebih dahulu (baca artikel) untuk berinteraksi langsung ke pokok masalahnya. Untuk pertama kita akan membahas terlebih dahulu coding dari PHP Native ini dan menggunakan database yang sudah disiapkan, seperti coding dibawah

<html>
 <body>
 <?php 
 ## memanggil database 
 $mysqli = mysqli_connect("localhost", "root", "password"); 
 mysqli_select_db($mysqli, "nama_database"); ?>
  <table width="270" border="1">
  <tr>
   <th width="20">No</th>
   <th width="150">Nama</th>
   <th width="100">NIM</th>
  </tr>
  <?php 
  ## Pemanggilan tabel data_mahasiswa dari database 
  $sql = mysqli_query($mysqli, "SELECT * FROM data_mahasiswa ORDER BY id"); 
  $no = 0; 
  while($data = mysqli_fetch_array($sql)){ 
   $no++; 
  ?>
  <tr>
   <td><?php echo $no; ?></td>
   <td><?php echo $data['nama'];?></td>
   <td><?php echo $data['nim'];?></td>
  </tr>
  <?php } ?>
 </table>
 </body>
</html>

ini contoh tampilan coding sederhana PHP Native yang selama ini saya gunakan, disini ada perulangan while untuk menampilkan seluruh data yang ada di tabel data_mahasiswa, jadi seluruh coding ada di satu file untuk menampilkan informasi. Biasanya dibawah coding pemanggilan database ada banyak query-query yang dibutuhkan.

Selanjutnya kita akan memindahkan data yang sama ke bentuk framework codeigniter yang menerapkan metode MVC.

pertama kita membuat controller terlebih dahulu, simpan file dengan nama mahasiswa_control.php

codeigniter/application/controllers/mahasiswa_kontrol.php

<?php 
 class Mahasiswa_kontrol extends CI_Controller{ 
  function index(){ 
   $this->load->database(); //Load Database
   $this->load->model('mahasiswa_model'); // Load Model mahasiswa_model.php
 
   $data['tampil'] = $this->mahasiswa_model->ambil_data();
   $this->load->view('mahasiswa_view', $data);
  }
 }
?>

Penjelasan :
2 : format yang sudah disediakan oleh CI di controllers
4 : format untuk pemanggilan fungsi pada saat menjalankan file di mahasiswa_kontrol.php
5 : memanggil database, sama halnya kita memanggil database di PHP Native
6 : Memanggil models yang kita buat dibawah ini
8 : Ini akan menampilkan data ke Views dari database
9 : Menampilkan file mahasiswa_view.php yang kita buat dibawah ini letaknya di folder Views.

kedua kita membuat models, simpan dengan nama mahasiswa_model.php

codeigniter/application/models/mahasiswa_model.php

<?php 
 class Mahasiswa_model extends CI_Model {
 
  #Menampilkan Query seperti PHP Native
  public function ambil_data(){
   $sql = $this->db->query("SELECT * FROM data_mahasiswa ORDER BY id");
   return $sql->result_array();
  }
 }
?>

Penjelasan :
6 : memanggil data dari query yang kita rancang di php native
7 : untuk menampilkan data berbentuk array $data[‘nama’].

Adapun bentuk yang lain dalam merancang models sesuai aturan yang dibuat CI untuk mempermudah kita, contohnya seperti berikut.

<?php 
 class Mahasiswa_model extends CI_Model {
 
  public function ambil_data(){
   $this->db->select('*');
   $this->db->from('data_mahasiswa');
   $this->db->order_by('id');
   $sql = $this->db->get();
   return $sql->result_array();
  }
 }
?>

Penjelasan :
5 : sama halnya menampilkan field yang ingin di tampilkan, disini kita menggunakan ‘*’ untuk menampilkan semuanya
6 : maksudnya menampilkan nama tabel yang ada di database
7 : seperti order by yang kita gunakan tetapi disini formatnya digabungkan menjadi order_by
8-9 : untuk mendapatkan data-data di atas untuk kita filter lagi mau menggunakan result_array, result_assocc atau yang lainnya

Ketiga membuat views, simpan dengan  nama mahasiswa_view.php

codeigniter/application/views/mahasiswa_view.php

<html>
 <body>
  <h2>Halaman Mahasiswa View</h2>
  <table width="270" border="1">
  <tr>
   <th width="20">No</th>
   <th width="150">Nama</th>
   <th width="100">NIM</th>
  </tr>
 <?php 
 $no = 0;
 foreach($tampil as $data){
  $no++;
 ?>
   <tr>
    <td><?= $no; ?></td>
    <td><?= $data['nama'];?></td>
    <td><?= $data['nim'];?></td>
   </tr>
  <?php } ?>
  </table>
 </body>
</html>

Penjelasan :
Sama seperti php native yang kita rancang tadi, tapi perbedaannya hanya agak rapi saja jika kita perhatikan dikarenakan setiap data-data sudah diletakkan di tempatnya.
12 : perulangan foreach ini banyak digunakan pada CI, jadi jangan heran jika menemukan foreach jadi anda harus belajar menggunakan kan ini yang biasanya perulangan menggunakan while atau for.
12 : $tampil ini diambil dari mahasiswa_kontrol.php yang isinya $data[‘tampil’] = $this->mahasiswa_model->ambil_data(); kita hanya memanggil ‘$tampil’ saja dikarenakan pada $this->load->view(‘mahasiswa_view’, $data); ini kita menampilkan seluruh isi $data[].
16-18 : menampilkan data pada kolom tabel

Ini saja yang dapat saya jelaskan, sedikit ilmu ini mungkin bisa membantu kalian membandingkan CI dengan php native. Saya pernah membaca artikel-artikel yang saya cari di google, dikatakan “kalau mau belajar CI ini harus menguasai konsep OOP terlebih dahulu dan jika belum mengerti mungkin akan sulit untuk belajar CI“. Saya pikir tidak sulit untuk belajar CI ini yang saya dulunya suka coding menggunakan php native, hanya saja perlu ketelitian dalam coding CI. Jika kalian ingin mempertahankan coding seperti php native bisa di sesuaikan sendiri dengan bakat yang kalian punya. Okelah, terima kasih semuanya yang sudah membaca blog ini.
Wasalam.

 

Searching google:
– perbandingan php native dengan codeigniter
– php native codeigniter
– bagaimana menampilkan query di codeigniter

About Mirza

Check Also

codeigniter

Mengenal Framework CodeIgniter

Tahukah kalian apa itu framework Codeigniter…? Codeigniter yaitu aplikasi atau open source berupa framework dengan …

Leave a Reply