1. Membuat Database
Saya menamai database dengan nama jualkamera
Selanjutnya membuat tabel produk dengan struktur sebagai berikut
2.Konfigurasi code igniter
Mengatur autoload.php
- Buka file xampp/htdocs/jualkamera/application/config
- buka file autoload.php
- Cari $autoload['libraries'] = array();
- Ubah menjadi $autoload['libraries'] = array('database', 'session');
- Selanjutnya cari $autoload['helper'] = array();
- Rubah menjadi $autoload['helper'] = array('url','form');
- Selanjutnya simpan
Mengatur config.php
- Buka file xampp/htdocs/jualkamera/application/config
- buka file config.php
- cari $config['base_url'] = 'localhost'
- ganti dengan $config['base_url'] = 'http://localhost/jualkamera/'
- cari $config['index_page'] = 'index.php';
- Ubah menjadi $config['index_page'] = '';
- Setelah itu simpan
Mengatur database.php
- Buka file xampp/htdocs/jualkamera/application/config
- buka database.php
- cari hostname ubah menjadi localhost
- Se1anjutnya kosongkan password
- database diubah menjadi jualkamera
- striction ubah menjadi true
- simpan
Untuk menghilangkan index.php dapat menggunakan .htaccess
- Simpan kode dibawah ini untuk menghilangkan index.php
- RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
- Simpan kedalam folder codeigniter dan simpan dengan nama .htaccess
Mengatur routes.php
- Buka file xampp/htdocs/jualkamera/application/config
- buka routes.php
- cari $router['default_controller'] = 'welcome';
- menjadi $router['default_controller'] 'produk';
- simpan
3.Membuat model
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Produk_model extends CI_Model{
public function create()
{
$nama = $this->input->post('nama_produk');
$brand = $this->input->post('nama_brand');
$produk = $this->input->post('deskripsi_produk');
$kondisi = $this->input->post('kondisi_produk');
$harga = $this->input->post('harga_produk');
$gambar = $_FILES['gambar_produk'];
if ($gambar=''){
} else {
$config['upload_path'] = './uploads/product';
$config['allowed_types'] = 'gif|jpg|png';
$this->load->library('upload',$config);
if(!$this->upload->do_upload('gambar_produk')){
$gambar = "standar.jpg";
} else {
$gambar = $this->upload->data('file_name');
}
}
$stok = $this->input->post('stok_produk');
$data = array (
'nama_produk' => $nama,
'nama_brand' => $brand,
'deskripsi_produk' => $produk,
'kondisi_produk' => $kondisi,
'harga_produk' => $harga,
'gambar_produk' => $gambar,
'stok_produk' => $stok
);
$this->db->insert('produk', $data);
}
public function read()
{
$query=$this->db->get('produk');
return $query->result();
}
}
?>
Pertama kita membuat model Produk_Model.php yang mana nantinya akan digunakan untuk menerima
inputan langsung dari user dan berhubungan dengan view dan controller
fungsi create() berguna untuk menambahkan data, pertama variabel $nama,$brand,$produk,$kondisi
$harga,$gambar,$stok akan menampung terlebih dahulu data yang diinputkan oleh user,
lalu data data tersebut dijadikan array dengan variabel $data, selanjutnya data array tersebut
akan dieksekusi dengan perintah $this->db->insert('produk',$data); yang mana 'produk' ini adalahtabel pada database yang telah kita buat
fungsi create () berguna untuk melihat data yang telah diinputkan oleh user dengan $this->db->get('produk')hal ini akan membuat kita untuk melihat semua data yang ada pada tabel
4.Membuat Controller
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Produk extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model('Produk_model');
}
public function index()
{
$data['produks'] = $this->Produk_model->read();
$this->load->view('produk/list_produk',$data);
}
public function add()
{
if($this->input->post('submit')){
$this->Produk_model->create();
}
$this->load->view('produk/form_produk');
}
}
?>kita masukan perintah $this->load->model('Produk_model); berguna untuk menload model yang telah kita buatpada pertama kali halaman dijalankan apabila disimpan di fungsi construct.
fungsi index(), berfungsi sebagai tampilan utama controller, $this->produk_model->read(); berguna untuk
memanggil fungsi yang ada pada model selanjunya ditampung kedalam variabel array $data['produks']
selanjutnya kita akan memperlihatkan view list produk dengan cara $this->load->view('produk/list_produk',$data);hal tersebut sekaligus kita mengirimkan data yang telah kita panggil dalam model ke view
fungsi add, berfungsi untuk menambahkan data kedalam database, apabila user menekan tombol submit
maka otomatis akan memanggil fungsi create()
5. Membuat View
- Buat folder produk pada view
- lalu buat form_produk.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.min.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.min.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.min.css')?>">
<script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.min.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/bootstrap.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/bootstrap.min.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/jquery.min.js')?>"></script>
</head>
<body>
<h2>Form Produk</h2>
<form method="post" action="" enctype="multipart/form-data">
<table>
<tr>
<td>Nama Produk : </td>
<td><input type="text" name="nama_produk"></td required>
</tr>
<tr>
<td>Nama Brand : </td>
<td><input type="text" name="nama_brand"></td>
</tr>
<tr>
<td>Deskripsi : </td>
<td><textarea name="deskripsi_produk"></textarea></td>
</tr>
<tr>
<td>Kondisi : </td>
<td><input type="radio" name="kondisi_produk" id="" value="Baru">Baru
<input type="radio" name="kondisi_produk" id="" value="Bekas">Bekas</td>
</tr>
<tr>
<td>Harga : </td>
<td><input type="text" name="harga_produk"></td>
</tr>
<tr>
<td>Gambar : </td>
<td><input type="file" name="gambar_produk"></td>
</tr>
<tr>
<td>Stok : </td>
<td><input type="text" name="stok_produk"></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Tambah">
<input type="button" name="" value="Batal"></td>
</tr>
</table>
</form>
</body>
</html>
- hal tersebut berfungsi untuk menerima inputan inputan data oleh user.
nama produk, nama brand,harga,stok menggunakan input type text
deskripsi diberikan input type textarea
gambar diberikan input type file
dan kondisi diberikan input type radio
membuat halaman untuk menampilkan produk
- Buat list_produk.php pada folder produk
- <?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html>
<html>
<head>
<title>Jual Kameraaa</title>
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.min.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.min.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.css')?>">
<link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.min.css')?>">
<script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.min.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/bootstrap.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/bootstrap.min.js')?>"></script>
<script src="<?=base_url('assets/bootstrap/js/jquery.min.js')?>"></script>
</head>
<body>
<a href="<?=site_url('produk/add')?>">Tambah data</a>
<h2>Daftar Produk Kamera</h2>
<table border="1" cellspacing="1" cellpadding="10">
<tr>
<th>No</th>
<th>Nama</th>
<th>Brand</th>
<th>Deskripsi</th>
<th>Kondisi</th>
<th>Harga</th>
<th>Gambar</th>
<th>Stok</th>
</tr>
<?php $i=1; foreach($produks as $produk) { ?>
<tr>
<td><?= $i++?></td>
<td><?= $produk->nama_produk?></td>
<td><?= $produk->nama_brand?></td>
<td><?= $produk->deskripsi_produk?></td>
<td><?= $produk->kondisi_produk?></td>
<td><?= $produk->harga_produk?></td>
<td><img src="<?= base_url();?>uploads/product/<?=$produk->gambar_produk?>" width="100" height="100"></td>
<td><?= $produk->stok_produk?></td>
</tr><?php } ?>
</table>
</body>
</html>
- Karena pada sebelumnya pada controller telah mengirimkan data array bernama $data['produks]'
kita dapat menggunakan variabel tersebut untuk memperlihatkan data dengan menggunakan foreach
dengan memanggil nama variabel yang telah diubah dengan foreach lalu memanggil nama kolom
misalkan $produk->nama_produk
maka hal tersebut dapat memperlihatkan data yang ada pada database
fungsi foreach dapat mengulang data tabel sebanyak jumlah data yang ada pada database
berikut ini tampilan proses keduanya
List Produk
Tambah Data
Mencari File/Gambar
Data telah masuk kedalam database
No comments:
Post a Comment