Tutorial CodeIgniter 7 menjelaskan bagaimana Bekerja dengan Database. Seperti framework lain, kita perlu berinteraksi dengan database sangat sering dan CodeIgniter membuat pekerjaan ini mudah bagi kita.
Tutorial CodeIgniter 7 menjelaskan bagaimana Bekerja dengan Database. Seperti framework lain, kita perlu berinteraksi dengan database sangat sering dan CodeIgniter membuat pekerjaan ini mudah bagi kita. Ini menyediakan kaya set fungsionalitas untuk berinteraksi dengan database.
Pada bagian ini, kita akan memahami bagaimana CRUD (Create, Read, Update, Delete) fungsi bekerja dengan CodeIgniter. Kami akan menggunakan tabel Stud untuk memilih, memperbarui, menghapus, dan memasukkan data dalam tabel Stud.
| Table Name: stud | |
|---|---|
| roll_no | int(11) |
| Name | varchar(30) |
Koneksi ke Database
Kami dapat terhubung ke database di berikut dua cara:
- Koneksi Otomatis - koneksi otomatis dapat dilakukan dengan menggunakan file application/config/autoload.php. koneksi otomatis akan memuat database untuk setiap halaman. Kita hanya perlu menambahkan database perpustakaan seperti gambar di bawah -
$autoload['libraries'] = array(‘library’);
- Koneksi Manual - Jika Anda ingin konektivitas database untuk hanya beberapa halaman, maka kita dapat pergi untuk menghubungkan manual. Kami dapat terhubung ke database secara manual dengan menambahkan baris berikut di setiap kelas
$this->load->database();
Di sini, kita tidak melewati argumen karena semuanya sudah diatur dalam database file konfigurasi application/config/database.php
Memasukkan Record
Untuk memasukkan catatan dalam database, insert() adalah fungsi yang digunakan seperti yang ditunjukkan pada tabel berikut -
Syntax
| insert([$table = ''[, $set = NULL[, $escape = NULL]]]) |
Parameters
|
|
Returns
| BENAR ketika berhasil, FALSE ketika gagal |
Return Type
| bool |
Contoh berikut menunjukkan bagaimana menyisipkan catatan dalam tabel Stud. $Data adalah array di mana kita telah mengatur data dan untuk memasukkan data ini untuk pejantan meja, kita hanya perlu melewati array ini untuk fungsi insert dalam 2 argumen.
$data = array( 'roll_no' => ‘1’, 'name' => ‘Virat’ ); $this->db->insert("stud", $data);
Update Record
Untuk memperbarui rekor dalam database, fungsi update() digunakan bersama dengan set() dan where() fungsi seperti yang ditunjukkan dalam tabel di bawah ini. Set() fungsi akan mengatur data yang akan diperbarui.
Syntax
| set($key[, $value = ''[, $escape = NULL]]) |
Parameters
|
|
Returns
| CI_DB_query_builder instance (method chaining) |
Return Type
| CI_DB_query_builder |
The where() function will decide which record to update.
Syntax
| where($key[, $value = NULL[, $escape = NULL]]) |
Parameters
|
|
Returns
| DB_query_builder instance |
Return Type
| object |
Akhirnya, fungsi update() akan memperbarui data dalam database.
Syntax
| update([$table = ''[, $set = NULL[, $where = NULL[, $limit = NULL]]]]) |
Parameters
|
|
Returns
| TRUE on success, FALSE on failure |
Return Type
| bool |
$data = array( 'roll_no' => ‘1’, 'name' => ‘Virat’ ); $this->db->set($data); $this->db->where("roll_no", ‘1’); $this->db->update("stud", $data);
Menghapus Record
Untuk menghapus catatan dalam database, delete() adalah fungsi yang digunakan seperti yang ditunjukkan pada tabel berikut -
Syntax
| delete([$table = ''[, $where = ''[, $limit = NULL[, $reset_data = TRUE]]]]) |
Parameters
|
|
Returns
| CI_DB_query_builder Misalnya (metode chaining) atau FALSE pada kegagalan |
Return Type
| mixed |
Gunakan kode berikut untuk menghapus record dalam tabel Stud. Argumen pertama menunjukkan nama tabel untuk menghapus catatan dan argumen kedua memutuskan yang merekam untuk menghapus.
$this->db->delete("stud", "roll_no = 1");
Memilih Record
Untuk memilih record dalam database, fungsi get digunakan, seperti yang ditunjukkan pada tabel berikut -
Syntax
| get([$table = ''[, $limit = NULL[, $offset = NULL]]]) |
Parameters
|
|
Returns
| CI_DB_result instance (method chaining) |
Return Type
| CI_DB_result |
Gunakan kode berikut untuk mendapatkan semua catatan dari database. Pernyataan pertama mengambil semua catatan dari meja "Stud" dan mengembalikan objek, yang akan disimpan dalam objek $query. Pernyataan kedua panggilan result() fungsi dengan obyek $query untuk mendapatkan semua catatan sebagai larik.
$query = $this->db->get("stud"); $data['records'] = $query->result();
Tutup Koneksi
koneksi database dapat ditutup secara manual, dengan menjalankan kode berikut :
$this->db->close();
Contoh
Buat kelas controller yang disebut Stud_controller.php dan menyimpannya di application/controller/Stud_controller.php
Berikut ini adalah contoh lengkap, dimana semua operasi yang disebutkan di atas dilakukan. Sebelum mengeksekusi contoh berikut, membuat database dan tabel seperti yang diperintahkan pada awal bab ini dan membuat perubahan yang diperlukan dalam file database konfigurasi disimpan pada application/config/database.php
<?php class Stud_controller extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->database(); } public function index() { $query = $this->db->get("stud"); $data['records'] = $query->result(); $this->load->helper('url'); $this->load->view('Stud_view',$data); } public function add_student_view() { $this->load->helper('form'); $this->load->view('Stud_add'); } public function add_student() { $this->load->model('Stud_Model'); $data = array( 'roll_no' => $this->input->post('roll_no'), 'name' => $this->input->post('name') ); $this->Stud_Model->insert($data); $query = $this->db->get("stud"); $data['records'] = $query->result(); $this->load->view('Stud_view',$data); } public function update_student_view() { $this->load->helper('form'); $roll_no = $this->uri->segment('3'); $query = $this->db->get_where("stud",array("roll_no"=>$roll_no)); $data['records'] = $query->result(); $data['old_roll_no'] = $roll_no; $this->load->view('Stud_edit',$data); } public function update_student(){ $this->load->model('Stud_Model'); $data = array( 'roll_no' => $this->input->post('roll_no'), 'name' => $this->input->post('name') ); $old_roll_no = $this->input->post('old_roll_no'); $this->Stud_Model->update($data,$old_roll_no); $query = $this->db->get("stud"); $data['records'] = $query->result(); $this->load->view('Stud_view',$data); } public function delete_student() { $this->load->model('Stud_Model'); $roll_no = $this->uri->segment('3'); $this->Stud_Model->delete($roll_no); $query = $this->db->get("stud"); $data['records'] = $query->result(); $this->load->view('Stud_view',$data); } } ?>
Buat kelas model yang disebut Stub_Model.php dan menyimpannya dalam application/model/Stud_Model.php
<?php class Stud_Model extends CI_Model { function __construct() { parent::__construct(); } public function insert($data) { if ($this->db->insert("stud", $data)) { return true; } } public function delete($roll_no) { if ($this->db->delete("stud", "roll_no = ".$roll_no)) { return true; } } public function update($data,$old_roll_no) { $this->db->set($data); $this->db->where("roll_no", $old_roll_no); $this->db->update("stud", $data); } } ?>
Membuat tampilan file bernama Stud_add.php dan menyimpannya dalam application/views/Stud_add.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>Students Example</title> </head> <body> <?php echo form_open('Stud_controller/add_student'); echo form_label('Roll No.'); echo form_input(array('id'=>'roll_no','name'=>'roll_no')); echo "<br/>"; echo form_label('Name'); echo form_input(array('id'=>'name','name'=>'name')); echo "<br/>"; echo form_submit(array('id'=>'submit','value'=>'Add')); echo form_close(); ?> </body> </html>
Membuat tampilan file bernama Stud_edit.php dan menyimpannya dalam application/ view/Stud_edit.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>Students Example</title> </head> <body> <form method = "" action = ""> <?php echo form_open('Stud_controller/update_student'); echo form_hidden('old_roll_no',$old_roll_no); echo form_label('Roll No.'); echo form_input(array('id'=>'roll_no', 'name'=>'roll_no','value'=>$records[0]->roll_no)); echo "<br/>"; echo form_label('Name'); echo form_input(array('id'=>'name','name'=>'name', 'value'=>$records[0]->name)); echo "<br/>"; echo form_submit(array('id'=>'submit','value'=>'Edit')); echo form_close(); ?> </form> </body> </html>
Membuat tampilan file bernama Stud_view.php dan menyimpannya dalam application/views/Stud_view.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>Students Example</title> </head> <body> <a href = "<?php echo base_url(); ?> index.php/stud/add_view">Add</a> <table border = "1"> <?php $i = 1; echo "<tr>"; echo "<td>Sr#</td>"; echo "<td>Roll No.</td>"; echo "<td>Name</td>"; echo "<td>Edit</td>"; echo "<td>Delete</td>"; echo "<tr>"; foreach($records as $r) { echo "<tr>"; echo "<td>".$i++."</td>"; echo "<td>".$r->roll_no."</td>"; echo "<td>".$r->name."</td>"; echo "<td><a href = '".base_url()."index.php/stud/edit/" .$r->roll_no."'>Edit</a></td>"; echo "<td><a href = '".base_url()."index.php/stud/delete/" .$r->roll_no."'>Delete</a></td>"; echo "<tr>"; } ?> </table> </body> </html>
Membuat perubahan berikut di rute file pada application/config/routes.php dan tambahkan baris berikut pada akhir file.
$route['stud'] = "Stud_controller"; $route['stud/add'] = 'Stud_controller/add_student'; $route['stud/add_view'] = 'Stud_controller/add_student_view'; $route['stud/edit/(\d+)'] = 'Stud_controller/update_student_view/$1'; $route['stud/delete/(\d+)'] = 'Stud_controller/delete_student/$1';
Sekarang, mari kita jalankan contoh ini dengan mengunjungi URL berikut di browser. Mengganti yoursite.com dengan URL Anda.
http://yoursite.com/index.php/stud

COMMENTS