praktikum php
TRANSCRIPT
-
8/10/2019 Praktikum Php
1/11
1
PRAKTIKUM PHP 15
Database Web Lanjut #1
1. Menyimpan Gambar Ke Database bertipe data BLOB
Tutorial Menyimpan Gambar Ke Database akan menjelaskan cara menyimpan gambar ke database dan
cara menampilkan gambar yang telah disimpan di database. Untuk bisa mengikuti tutorial ini anda harus
mengerti cara mengupload gambar dengan PHP. Ada dua cara menyimpan gambar ke database:
1. Menyimpan gambar ke database dengan tipe data blob,
2. Menyimpan gambar ke dalam sebuah folder dan mencatat lokasi dan informasi gambar ke
database.
Yang akan dibahas di tutorial ini adalah langkah pertama, Menyimpan gambar ke database dengan tipedata blob.
Ada beberapa hal yang perlu dilakukan sebelum bisa menyimpan gambar ke dalam sebuah field table
database yang bertipe blob.
Mempersiapkan Database dan Table
Buatlah sebuah database dengan nama misalkan "gallery". Kemudian buat tabel di dalamnya dengan
nama "pictures" dengan struk seperti di bawah:
Nama Field Tipe Data Keterangan
id integer primary key, auto increment
file_name varchar(100)
mime_type varchar(50)
file_data mediumblob
Atau gunakan SQL Query berikut:
create database gallery;use gallery;CREATE TABLE `pictures` (`id` int NOT NULL AUTO_INCREMENT,`file_name` varchar(100) NOT NULL,
`mime_type` varchar(50) NOT NULL,`file_data` mediumblob DEFAULT NULL,PRIMARY KEY (`id`)
);
Membuat Upload Form
Buat html form untuk mengupload gambar, gunakan script di bawah:
Gambar:
Simpan dengan nama file form.html.
Menyimpan Gambar Ke Database
Langkah selanjutnya adalah menyimpan gambar ke database, gunakalah script php di bawah untuk
menyimpan gambar ke database.
http://en.wikipedia.org/wiki/Mime_typehttp://en.wikipedia.org/wiki/Mime_type -
8/10/2019 Praktikum Php
2/11
2
-
8/10/2019 Praktikum Php
3/11
3
2. Menyimpan Gambar Ke Database bertipe VARCHAR
Buatlah sebuah database dengan nama misalkan "gallery2". Kemudian buat tabel di dalamnya dengan
nama "pictures" dengan struk seperti di bawah:
Nama Field Tipe Data Keterangan
id integer primary key, auto increment
nama_foto varchar(100)
keterangan varchar(50)
gambar varchar(50)
Langkah 1
Koneksi.php//berguna untuk koneksi ke database
Langkah 2Upload_foto.php//form untuk i nput foto
nama foto keterangan masukan gambar
Langkah 3
Hapus.php//berfungsi un tuk menghapus foto
-
8/10/2019 Praktikum Php
4/11
4
Langkah 5
Simpan_foto.php//untuk menyimpan foto kedalam database
-
8/10/2019 Praktikum Php
5/11
5
3. Membuat Pagination
Tutorial Membuat Pagination menjelaskan cara membuat paging dengan php. Pagination berguna
untuk menampilkan data yang banyak ke dalam beberapa halaman untuk mempercepat loading dari
halaman web. Selain itu memberi kemudahan kepada pengguna dalam mencari data.Untuk membuat pagination anda perlu mengetahui penggunaan SQL query limit.Statement limit selalu
diawali dengan statement select. Cara penggunaanya adalah seperti:
select* fromnama_tabel limit 0,10 /*limit mulai_data_ke, banyak_data_yang_ditampilkan*/
query di atas akan menampilkan data sebanyak 10 data mulai dari data ke 0 (data ke 0-9). Contoh lain
select* fromnama_tabel limit 5,10
menampilkan data sebanyak 10 data mulai dari data ke 5 (data ke 5-14). Langkah selanjutnya adalah
mengintegrasikan cara penggunaan query limit dengan script php. Sebagai contoh, anda memiliki
sebuah table dengan nama data_siswa, seperti berikut:
Nama Field Tipe Data Keterangan
nis varchar(20) primary key
nama varchar(50)
kelas varchar(10)
alamat text
Kemudian anda memiliki sebuah file tampil-data-siswa.php yang digunakan untuk menampilkan datayang ada di tabel data_siswa sebanyak 10 data per halaman. Untuk itu anda menentukan link
pagination seperti http://localhost/tampil-data-siswa.php?page=1 untuk menampilkan halaman
pertama, http://localhost/tampil-data-siswa.php?page=2 untuk menampilkan halaman kedua, dan
seterusnya.
File tampil-data-siswa.phpanda akan seperti di bawah:
-
8/10/2019 Praktikum Php
6/11
6
Di baris ke 6 sampai 8 untuk mencari berapa banyak data yang ada di tabel data_siswa. Di baris 10 - 14
adalah menentukan halaman mana yang diakses dan membuat sql query limit. Baris 16 - 32 digunakan
untuk menampilkan data siswa. Yang terakhir baris 34 - 42 untuk membuat pagination. Di baris ini
dilakukan perulangansebanyak $banyakHalaman.Pagination Untuk Pencarian
Pencariandata juga memerlukan pagination karena hasil pencarian bisa saja banyak sekali. Untuk itu
gunakan kode di bawah:
-
8/10/2019 Praktikum Php
7/11
7
4. Membuat Searching (Skrip Pencarian Data)
Searching atau pencarian datamerupakan hal penting dalam sebuah aplikasi, apalagi aplikasi yang
menangani data yang banyak. Ada dua tipe searching yaitu: Quick Searchdan Advanced Search. Quick
search adalah pencarian sederhana seperti google search, pengguna hanya memasukkan sebuah katakunci dari apa yang dicarinya. Sedangkan Advanced search adalah pencarian lanjut yang lebih kompleks
dengan beberapa kriteria pencarian, yang memungkinkan hasil pencarian yang lebih akurat.
Sebelum membuat script seaching ada baiknya untuk mempelajari dasar untuk menampilkan data. Pada
tutorial ini akan digunakan sebuah tabel siswa seperti berikut:
Fieldname Tipe Data Keterangan
id int(11) primary key
nama varchar(50)
ayah varchar(50)
ibu varchar(50)
alamat text
Searching biasanya menggunakan query "like", seperti:
SELECT*FROMnama_table WHEREnama_field LIKE'%cari%'
hasilnya adalah semua data yang berisikan kata cari seperti "mencari", "pencarian".
Membuat Quick SearchUntuk membuat Quick Search gunakan skrip php di bawah:
Search :
http://www.php.net/issethttp://www.php.net/issethttp://www.php.net/mysql_connecthttp://www.php.net/mysql_connecthttp://www.php.net/mysql_connecthttp://www.php.net/mysql_select_dbhttp://www.php.net/mysql_select_dbhttp://www.php.net/mysql_queryhttp://www.php.net/mysql_queryhttp://www.php.net/mysql_queryhttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_fetch_arrayhttp://www.php.net/mysql_fetch_arrayhttp://www.php.net/mysql_fetch_arrayhttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_queryhttp://www.php.net/mysql_select_dbhttp://www.php.net/mysql_connecthttp://www.php.net/isset -
8/10/2019 Praktikum Php
8/11
8
Membuat Advanced SearchGunakan skrip di bawah untuk membuat advanced search.
Nama :
Ayah :
Ibu :
Alamat :Perbedaan advanced search dengan quick search adalah: Quick search menggunakan operator "or" pada
sql query, sedangkan Advanced search menggunakan operator "and" dengan beberapa kriteria
pencarian, seperti nama, ayah, ibu, alamat.
RANGKUMAN
Ada dua tipe searching/pencarian data: Quick search dan Advanced Search. Quick search adalah
pencarian sederhana hanya menggunakan satu kriteria pencaria. Advanced Search, pencarian lanjut
yang lebih kompleks dengan beberapa kriteria pencarian. Advanced search memberikan hasil yang lebih
akurat dibanding quick search.
5. Membuat ComboBox Bertingkat dengan PHP MYSQL
Combobox merupakan salah satu element form yang sering digunakan dalam aplikasi aplikasi
pendaftaran, pada umumnya combobox digunakan untuk memilih salah satu option dimana terdapat
banyak option yang ada. Value dalam combobox sebenarnya dapat ditulis langsung dalam html, namun,
bagaimana jika data yang ingin ditampilkan sangat banyak atau tergantung pada kondisi tertentu?
Misalkan, kita ingin menampilkan pilihan kotakota yang ada dalam negara Indonesia, maka kota yang
ditampilkan juga merupakan kota yg berada dalam Indonesia.
Misalkan, user ternyata berasal dari Inggris, maka kota yang ditampilkan juga merupakan kota yg berada
dalam negara Inggris.
http://www.php.net/issethttp://www.php.net/issethttp://www.php.net/mysql_connecthttp://www.php.net/mysql_connecthttp://www.php.net/mysql_connecthttp://www.php.net/mysql_select_dbhttp://www.php.net/mysql_select_dbhttp://www.php.net/mysql_queryhttp://www.php.net/mysql_queryhttp://www.php.net/mysql_queryhttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_fetch_arrayhttp://www.php.net/mysql_fetch_arrayhttp://www.php.net/mysql_fetch_arrayhttp://www.php.net/mysql_num_rowshttp://www.php.net/mysql_queryhttp://www.php.net/mysql_select_dbhttp://www.php.net/mysql_connecthttp://www.php.net/isset -
8/10/2019 Praktikum Php
9/11
9
Kita memerlukan combobox dinamis.
Pertama buat databasenya
CREATE DATABASE provkabkotkec ;
Kemudian kita buat tabel provinsi.
CREATE TABLE combobox_bertingkat.prov (id_prov INT( 2) NOT NULL ,nama_prov CHAR( 30) NOT NULL) ENGINE = MYISAM ;
Kemudian buat tabel kabupaten/kota. Pada tabel kabupaten/kota ini terdapat kolom id_prov
yang nantinya berelasi dengan kolom id_prov pada tabel prov.
CREATE TABLE `combobox_bertingkat`.`kabkot` (
`id_prov` INT( 2) NOT NULL ,`id_kabkot` INT( 4) NOT NULL ,`nama_kabkot` CHAR( 40) NOT NULL) ENGINE = MYISAM ;
Selanjutnya buat tabel kecamatan. Pada tabel ini terdapat kolom id_prov yang nantinya
berelasi dengan id_prov pada tabel prov dan id_kabkot yang nantinya berelasi dengan kolom
id_kabkot pada tabel kabkot.
CREATE TABLE `combobox_bertingkat`.`kec` (`id_prov` INT( 2) NOT NULL ,`id_kabkot` INT( 4) NOT NULL ,`id_kec` INT( 4) NOT NULL ,
`nama_kec` CHAR( 40) NOT NULL) ENGINE = MYISAM ;
Terakhir kita membuat tabel data yang akan kita gunakan untuk menyimpan data dari
combobox yang kita pilih. Disini terdapat id_prov, id_kabkot dan id_kec yang berelasi dengan
tabel prov, tabel kabkot dan tabel kec.
CREATE TABLE `combobox_bertingkat`.`data` (`id_data` INT( 5) NOT NULL AUTO_INCREMENT PRIMARYKEY ,`id_prov` INT( 2) NOT NULL ,`id_kabkot` INT( 4) NOT NULL ,`id_kec` INT( 4) NOT NULL) ENGINE = MYISAM ;
Setelah semua tabel sudah siap, saatnya kita mengisi tabel satu persatu disesuaikan dengan
relasi antar tabelnya. Pasti capek ya harus ngisi satu-satu nama provinsinya belum kabupaten
tiap provinsinya belum lagi nama kecamatan tiap kabupatennya. Setelah semua tabel terisi
dengan baik, selanjutnya kita membuat form inputan combobox yang memanggil data dari
database dan tabel yang menampilkan data dari tabel data pada database. Kita beri nama
dengan index.php.
Select Chain
var htmlobjek;$(document).ready(function(){
//apabila terjadi event onchange terhadap object $("#propinsi").change(function(){var propinsi = $("#propinsi").val();$.ajax({
url: "ambilkota.php",data: "propinsi="+propinsi,cache: false,success: function(msg){
//jika data sukses diambil dari server kita tampilkan//di $("#kota").html(msg);
}});
-
8/10/2019 Praktikum Php
10/11
10
});$("#kota").change(function(){var kota = $("#kota").val();$.ajax({
url: "ambilkecamatan.php",data: "kota="+kota,cache: false,
success: function(msg){$("#kec").html(msg);}
});});
});
Pilih Provinsi :
--Pilih Provinsi--
Pilih Kabupaten/Kota :
--Pilih Kabupaten/Kota--
Pilih Kecamatan :
--Pilih Kecamatan--Sebelumnya kita juga harus membuat file php untuk memanggil data pada tabel kabkot. Kita beri
nama dengan ambilkota.php
-
8/10/2019 Praktikum Php
11/11
11
Terakhir kita membuat file jika melakukan eksekusi penyimpanan ke tabel data pada database.Biasa disebut dengan simpan.php.
Anda dapat mengunduh source code combobox dan query sql, pada link yang telah tersedia.
TUGAS
1. Praktikkan masing-masing contoh diatas dengan benar dan printscreen hasilnya
2. Gunakan database lain untuk kasus yang berbeda.
Selamat mengerjakan semoga berhasil!
Salam Hangat Selalu,
Hadi Wijaya