praktikum php

Upload: dia-putranto-harmay

Post on 02-Jun-2018

221 views

Category:

Documents


0 download

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