echo $bariskalimat."<br>";
}
?>
hal yang pertama di lakukan yaitu membuka file tersebut dengan fopen($file, 'r'), r itu
parameter untuk membaca saja dan meletakkan kursor atau pointer di awal dari file. Jika
file tidak bisa dibaca akan muncul error dengan peringatan "Nggak bisa dibaca".
while (!feof($fileopen)) memiliki fungsi untuk mengecek apakah pointer atau kursornya
berada pada akhir file. parameter r pada fopen meletakkan kursor di awal, dan while
(!feof($fileopen)) akan terus mengecek apakah kursornya sudah sampai akhir file, jika
sudah sampai akhir file maka pengulangan akan berhenti.
$bariskalimat = fgets($fileopen, 1024);
berfungsi untuk mengambil isi dari file baris demi baris memakai memory 1024 byte
kemudian di tampilkan dengan ;
echo $bariskalimat."<br>";
ilustrasinya yaitu seperti ini ... logika membuka file
paramater r, pada fopen($file, 'r') berfungsi untuk meletakkan kursor di awal dari file.
feof mengecek apakah sudah berada di akhir file ...
fgets mengambil isi file dan mengambil baris pertama ...
fopen kemudian mengcek apakah sudah berada di akhir file?
fgets mengambil isi file dan mengambil baris kedua...
fopen kemudian mengcek apakah sudah berada di akhir file?
jika fopen mengecek sudah berada pada baris akhir maka pengulangan berhenti.
Menulis atau menambahkan isi file dengan fputs()
Untuk menulis isi file anda dapat memakai fputs(). Untuk dapat memakai
fputs() anda harus membuka filenya terlebih dahulu, dengan fopen(), kemudian gunakan
fputs(), sesudah itu baru tutup file dengan fclose();
Implementasinya yaitu seperti ini :
<?php
.
Bab2: Bekerja dengan PHP
66
$file = fopen("tes.txt", a);
fputs($file, "Welcome to the jungle");
fclose($file);
?>
Parameter a pada fopen("tes.txt", a); berfungsi untuk menambahkan isi file di bagian
akhir. Jika anda memakai w atau r, maka isi file akan dihapus kemudian di timpah
dengan yang baru. Jika anda ingin menambahkannya di akhir maka gunakan a.
Mudah sekali bukan?
.
Bab2: Bekerja dengan PHP
67
2.14 Bekerja dengan Date & Time
Oke, kita sudah berada dalam akhir dari bab 2, di sini saya akan menjelaskan bagaimana
memakai Date & Time dalam PHP. PHP menyediakan fungsi-fungsi untuk
menampilkan penanggalan dan waktu. Fungsi-fungsi tersebut dapat mengembalikan
tanggal dan waktu sesuai dengan yang kita butuhkan.
Berikut yaitu table penanggalan dan waktu disertakan dengan penjelasannya.
a -> am atau pm
A -> AM atau PM
d -> Tanggal
D -> Nama hari dalam seminggu
F -> Nama bulan
g -> jam 1 sampai 12 (1..12)
G -> jam 1 sampai 23 (0..23)
h -> jam 1 sampai 12 (01..12)
H -> jam 1 sampai 23 (OO..23)
i -> menit
j -> Tanggal
l -> Nama Hari
m -> Bulan (dalam angka)
M -> Bulan (singkatan dari nama bulan)
n -> Nama bulan (1..12)
O -> waktu greenwicj
r -> format RFC 822 (Sun, 25 Agustus 2002 16:01:07+0200
s -> detik (00..59)
T -> Timezone (DMT)
y -> tahun dalam dua digit
Y -> tahun dalam empat digit
z -> hari ke x dari tahun
contoh implementasi dari date & time yaitu seperti ini untuk mengetahui tanggal berapa
sekarang :
<?php
echo date("d");
?>
.
Bab2: Bekerja dengan PHP
68
untuk contoh yang lebih kompleks lagi ...
<?php
echo "Sekarang waktu menunjukkan pukul ", date("H:i A"),
"<br>", date("l, d F Y"),
"<br>Hari ke : ", date("z"), " dari tahun ", date("Y");
?>
.
Bab 3: memakai PHP dengan MySQL
69
Bab 3:
memakai PHP
dengan MySQL
3.0 Mengenal MySql
Sebelum lebih jauh dengan mysql, terlebih dahulu kita harus mengetahui apa itu
mysql. sebagai intermezo saya akan coba ceritakan sekelumit mengenai mysql. Berbicara
mengenai mysql, tidak lepas dari berbicara mengenai sql (structured query language)
yakni bahasa yang berisi perintah-perintah untuk memanipulasi database, mulai dari
melakukan perintah select untuk menampilkan isi database, menginsert atau
menambahkan isi kedalam database, mendelete atau menghapus isi database dan
mengedit database.
Beberapa sistem database yang memakai sql diantaranya ada Ms. Access,
MsSQL Server, Oracle, PostgresSQL, DB2, MySQL, Interbase dan lain sebagainya ...
Untuk menjadi seorang web developer yang handal, anda harus menguasai perintah-
perintah sql. Meskipun tidak mutlak, tapi saya sangat menganjurkan anda untuk
mnguasai perintah mysql untuk memudahkan dalam developer aplikasi nantinya. Secara
garis besar berbagai sistem database memakai bahasa yang sama untuk
memanipulasi isi dalam database. Sama-sama memakai bahasa sql.
.
Bab 3: memakai PHP dengan MySQL
70
Kenapa memilih mysql??
MySQL itu merupakan salah satu sistem database yang memakai sql. MySQl
pun dapat digunakan secara langsung dengan mengetikkan perintah atau syntaxnya
melalui console. Dan bisa juga digunakan secara embeded SQL, artinya anda dapat
memakai perintah sql dengan menyisipkannya kedalam bahasa pemgrogaman
tertentu, PHP misalnya. Sampai saat ini PHP dan MySQL merupakan kombinasi yang
menakjubkan.
Hingga dalam kurun waktu kurang dari 20 tahun. PHP dan MySQL sudah
mendominasi dunia internet khususnya web development untuk web dinamis yang
powerfull. Bahkan bisa dibilang, internet sebagian besar terdiri dari PHP dan MySQL.
Salah satu alasan mengapa ini terjadi yaitu , kedua paket tersebut bersifat open source.
Sejarah MySQL
Berawal dari proyek yang dimulai oleh kedua orang developer, yakni Michael
Widenius dan David Axmark di tahun 1994. Pada awalnya mysql Di develop
memakai bahasa C dan C++. Lagi-lagi proyek ini didasari sebab ingin
membuat suatu sistem database yang murah, meskipun ketika itu ada database
yang powerfull yakni oracle, namun database ini bersifat komersil yang harganya
super mahal , dan begitu menguasai pasar.
Dan akhirnya MySQL dirilis pertama kali pada 23 Mei 1995. Mysql begitu
diminati oleh banyak orang, sebab kemudahan installasi, kemudahan pemakaian
sudah seperti database komersil dengan sistem RDBMS, sistem yang
memungkinkan interkoneksi antara satu tabel dengan tabel lainnya, sistem ini
benar-benar effisien.
Pada 8 Januari 1998 MySQL dirilis untuk versi Windows 95 dan NT Ini
menjadikan mysql itu sebagai sistem database yang low end. artinya user biasa
pun dapat memakai mysql ini tanpa membutuhkan server tambahan. Benar-
benar suatu terobosan yang membuat mysql semakin diminati banyak orang.
Versi 3.23 beta nya di terbitkan pada Juni 2000, dan versi stabilnya dirilis pada
januari 2001.
Versi 4.0 beta nya di terbitkan pada Agustus 2002, dan versi stabilnya dirilis pada
Maret 2003. Dalam dirils kali ini mysql sudah mengincludekan unionnya,
.
Bab 3: memakai PHP dengan MySQL
71
yang memungkin satu dengan table lain dapat saling join, dan ditampilkan dalam
satu tabel.
Versi 4.1 beta nya di terbitkan pada Juni 2004, dan versi stabilnya dirilis pada
Oktober 2004.
Dalam versi ini mysql mengincludekan R-trees and B-trees, subqueries, prepared
statements.
Versi 5.0 beta nya di terbitkan pada Maret 2005, namun versi stabilnya dirilis
pada Oktober 2005 cursors, stored procedures, triggers, views, XA transactions
Versi 5.1: currently pre-production (since November 2005) (event scheduler,
partitioning, plugin API, row-based replication, server log tables). Sun
Microsystems acquires MySQL AB on 26 February 2008
Tahun 2009, 11 milyar server di internet telah menginstall mysql sebagai default
sistem databasenya. MySQL kini merupakan database yang sangat powerfull.
Bahkan google sudah meracik MySQL sehingga menjadi database pencarian
milik google. MySQL menjadi sangat hebat. Saat ini.
.
Bab 3: memakai PHP dengan MySQL
72
3.1 Struktur dan Syntax MySQL
Struktur MySQL
MySQL Sama dengan bahasa pemrogaman lainnya yang juga sama-sama memiliki tipe
data.
Tipe Data String
char, memiliki panjang 255
varchar, memiliki panjang 255
tinytext, memiliki panjang 255
text, tidak terbatas
mediumtext, 1 juta
longtext, 4 Milyar
Tipe Data Numerik
int, -2 M sampai dengan 4 M
tinyint, -128 sampai dengan 255
mediumint, -8 Juta sampai dengan 8 Juta
bigint, -92 Triliyun sampai dengan 92 Triliyun
float, bilangan desimal positif, bilangan real, memiliki koma-komaan ...
double, bilangan desimal negatif dan positif, dan memiliki koma-komaan ...
Tipe Data Date dan TIme
date, hanya memuat tanggal saja, dengan formatnya seperti ini tahun-bulan-tanggal
time, hanya memuat waktu saja, formatnya HH:MM:SS (Jam:Menit:Detik)
datetime, memuat tanggal dan waktu, formatnya Tahun-Bulan-Hari Jam:Menit:Detik
year,
Tipe Key
Primary Key, Kunci yang menghubungkan antara 1 table dengan table lainnya
Auto Increment
Auto Increment menyebabkan pertambahan nilai urutan secara otomatis, suatu record
memiliki nilai 1, kemudian jika ada record yang lain lagi di insertkan ke dalam database,
maka urutannya akan menjadi 2 dan begitu seterus-seterusnya ....
.
Bab 3: memakai PHP dengan MySQL
73
Syntax MySQL
Pada bagian ini akan saya akan coba jelaskan beberapa syntax MySQL yang sering
digunakan dalam membuat website, maupun aplikasi-aplikasi berbasis website, baik
dalam melakukan pembuatan database, penambahanisi database, untuk menghapus isi
database, ataupun untuk menghapus database itu sendiri. Syntax yang kita gunakan
yaitu :
create
use
show
drop
alter
select
insert
update
delete
dibagian ini saya baru akan menjelaskan teorinya saja, di subbab selannjutnya akan saya
jelaskan secara praktiknya.
Create
ini digunakan untuk membuat database maupun table. Database yang memiliki sistem
RDBMS di mana telah saya terangkan di awal bab ini, bahwa RDBMS itu sistem
database yang berisi informasi dalam bentuk table-table yang saling berkaitan. Jadi
langkah awal dalam membuat database yaitu memakai fungsi create; syntaxnya
seperti ini :
create namadatabase;
untuk membuat table syntaxnya seperti ini :
create table(field1(ukuran), field2(ukuran), ...)
Use
Ini digunakan untuk memakai database yang telah dibuat sebelumnya, yang nantinya
database ini akan di edit atau di modifikasi.
syntaxnya itu seperti ini :
use namadatabase;
Drop
Ini digunakan untuk menghapus database ataupun table yang ada. Syntaxnya yaitu
seperti ini :
.
Bab 3: memakai PHP dengan MySQL
72
drop database;
untuk menghapus table gunakan :
drop namatable;
Alter
Alter ini akan dijelaskan secara terperinci di subab selanjutnya yang membahas membuat
database membuat table, dan mengedit keduanya. Alter berfungsi untuk memodifikasi
table yang telah di buat, modifikasi nya seperti menambahhkan field, mengganti size dari
suatu field, menghapus field, dan mengganti nama field.
Sebagai contoh untuk mengganti size dari suatu field yaitu seperti ini :
alter table change nama nama_ varchar(75)
ini berarti, ganti tipe dari field nama menjadi nama_ dengan tipe varchar yg
memiliki ukuran 75
Select
Di gunakan untuk menampilkan isi dari suatu table, bisa dengan kriteria tertentu bisa juga
dapat menampilkan keseluruhan tanpa adanya kriteria. Penggunaan standarnya seperti
ini:
select * from nama_table
Penggunaan ketika ingin menampilkan berdasarkan kriteria yaitu seperti ini :
select * from nama_table where field=kriteria
Untuk menampilkan nilai terbanyak :
select max(field) from tablenya
Untuk menjumlah isi record salah satu field dari suatu table :
select sum(field) from tablenya
untuk menghitung berapa jumlah record yang ada dari suatu table :
select count(*) from tablenya
.
Bab 3: memakai PHP dengan MySQL
73
Insert
insert ini digunakan untuk mengisi record suatu table, syntaxnya seperti ini
insert into nama_table(field1, field2, ...) values(nilai1, nilai2, ...)
contoh penggunaanya seperti ini :
insert into (nama, nilai) values('Loka Dwiartara','B');
ini berarti masukkan kedalam table , kedalam field id berisi Loka Dwiartara,
dan kedalam field nilai berisi B.
Update
digunakan untuk memperbarui isi dari suatu record, syntaxnya seperti ini :
update nama_table set field=nilaibaru where field=kriteria
contoh penggunaannya yaitu seperti ini :
update set nilai='A' where nama='Loka Dwiartara';
ini berarti perbarui atau update table ganti nilainya menjadi A dari
bernama Loka Dwiartara.
Delete
digunakan untuk menghapus suatu record dari suatu table penggunaannya seperti ini :
delete from namatable where field=kriteria;
Oke, saya telah menjelaskan semua fungsi dari syntax mysql, kita akan coba praktikan
semuanya.
.
Bab 3: memakai PHP dengan MySQL
74
3.2 Membuat Database, membuat table
Dalam membuat suatu aplikasi berbasis web, dibutuhkanlah database yang dapat
menyimpan data-data yang nantinya di oleh untuk dijadikan informasi yang bermanfaat.
Sebelumnya kita telah belajar bagaimana membuat database, di sini kita akan praktikan
semuanya, mulai dari membuat database.
Tapi sebelum membuat database kita pastikan terlebih dahulu apakah services
mysqlnya telah running melalui xampp control panel.
sesudah semuanya berjalan, kita akan coba masuk kedalam start | run | cmd.
Kemudian masuk ke direktori :
c:\xampp\mysql\bin
dengan cara :
cd c:\xampp\mysql\bin
Gambar 3.1 (Dos 1)
kemudian ketik :
mysql -u root
.
Bab 3: memakai PHP dengan MySQL
75
Gambar 3.2 (Dos 2)
Sehingga nanti akan tampil :
Gambar 3.2 (Dos 2)
Oke berhasil, kita akan buat satu buah database bernama , kenapa
? sebab nantinya database ini kita akan kembangkan menjadi suatu sistem
informasi yang cukup besar, dan akan saya jelaskan bagaimana membuat suatu sistem
informasi berikut membuat blog dengan data-data .
Oke kita akan buat database, cara nya seperti (cukup ketik yang di cetak tebal saja):
mysql> create database ;
.
Bab 3: memakai PHP dengan MySQL
76
Kemudian kita akan memakai database tersebut untuk di buat table nya. Caranya
seperti ini :
mysql> use ;
lalu untuk melihat database tersebut sudah memiliki table apa saja, kita cukup gunakan
syntaks seperti ini :
mysql> show tables;
Gambar 3.3 (Dos 3)
kita buat table-nya contohnya :
strukturnya seperti ini :
nama table : tbl_mhsiswa
field tipe size
id_mhs int 5
nama_mhs varchar 50
jenis_kelamin varchar 10
tgl_lahir date -
alamat varchar 200
.
Bab 3: memakai PHP dengan MySQL
77
Kita lihat disini id_mhs nya yaitu int yakni hanya untuk bilangan bulat saja, dan
besarnya yaitu 5, ini mengartikan bahwa maksimal jumlah yaitu sebanyak
5 digit, yakni 99.999 record id_mhs ini berfungsi sebagai penomoran dari
, urutan mulai dari 1 hingga sekian.
Selanjutnya ada nama_mhs, bertipe varchar, sebab itu terdiri huruf,
memiliki ukuran 50 ini digunakan sebagai perwakilan nama , seperti misalnya
'Loka Dwiartara' terdapat 14 digit huruf, dan asumsi saya yaitu paling banyak itu
nama orang yaitu berjumlah 50. Misalnya ... "Sukaryo Mangunkusumo SungTolodo
Makan Cokor Kebo" berjumlah 49 digit huruf, termasuk spasi didalamnya.
Begitu juga dengan jenis_kelamin dan alamat, namun untuk tgl_lahir, kita
memakai tipe nya date. date sudah otomatis berisi 10 digit, bentuk defaultnya
yaitu seperti ini 0000-00-00 sehingga jika menulis 24 Januari 1987 yaitu seperti ini
1987-01-24.
Oke anda mengerti? kita lanjut, untuk merubah struktur di atas menjadi query mysql
bentuknya seperti ini :
create table tbl_mhsiswa (id_mhs int(5) primary key auto_increment, nama_mhs
varchar(50), jenis_kelamin varchar(10), tgl_lahir date, alamat varchar(200));
tampilannya ...
Gambar 3.3 (Dos 3)
Kita lihat di sini, id mhs int(5) primary key auto_increment ini berarti id_mhs ini akan di
jadikan sebagai index dari tbl_mhsiswa, dan auto_increment berfungsi membuat no
.
Bab 3: memakai PHP dengan MySQL
78
urut secara otomatis, sehingga hasil akhirnya yaitu mulai dari 1, 2, 3, 4 dan seterusnya.
Untuk melihat apakah table yang sudah di buat sudah ada kita jalankan perintah :
show tables;
mysql> show tables;
+---------------------+
| Tables_in_ |
+---------------------+
| tbl_mhsiswa |
+---------------------+
1 row in set (0.01 sec)
mysql>
Kemudian bagaimana jika kita ingin melihat isi dari table yang sudah di buat :
select * from tbl_mhsiswa;
mysql> select * from tbl_mhsiswa;
Empty set (0.00 sec)
mysql>
sesudah membuat table, kadang anda mungkin tidak sreg dengan nama tablenya, anda bisa
merubah namanya dengan syntax alter ; caranya seperti ini :
alter table tbl_mhsiswa rename tbl_;
mysql> alter table tbl_mhsiswa rename tbl_;
Query OK, 0 rows affected (0.01 sec)
mysql>
kemudian lakukan show tables;
show tables;
mysql> show tables;
+---------------------+
| Tables_in_ |
+---------------------+
| tbl_ |
+---------------------+
1 row in set (0.00 sec)
mysql>
dari tbl_mhsiswa kemudian di rubah menjadi tbl_, kita coba kembalikan
.
Bab 3: memakai PHP dengan MySQL
79
seperti nama table yang awal :
alter table tbl_ rename tbl_mhsiswa;
mysql> alter table tbl_ rename tbl_mhsiswa;
Query OK, 0 rows affected (0.03 sec)
mysql>
kemudian show tables; kembali :
show tables;
mysql> show tables;
+---------------------+
| Tables_in_ |
+---------------------+
| tbl_mhsiswa |
+---------------------+
1 row in set (0.00 sec)
mysql>
misalkan kita ingin menambahkan field yang tadinya cuma id_mhs, nama_mhs,
jenis_kelamin, tgl_lahir, alamat, sekarang kita akan menambahkan dengan satu field
baru misalnya status, caranya yaitu :
alter table tbl_mhsiswa add column status varchar(30);
mysql> alter table tbl_mhsiswa add column status varchar(30);
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
ini berarti tambahkan field status dengan tipe varchar dan memiliki ukuran 30 kedalam
tbl_mhsiswa. Ada contoh lain misalkan kita ingin merubah nama dan ukuran dari suatu
field, ingin di perbesar ukurannya atau ingin di perkecil kita cukup memakai
perintah seperti ini :
alter table tbl_mhsiswa add change id_mhs id_ int(10);
mysql> alter table tbl_mhsiswa change id_mhs id_ int(10);
.
Bab 3: memakai PHP dengan MySQL
80
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
ini berarti ganti field id_mhs menjadi id_ bertipe integer dengan ukuran 10
digit.
Oke kita kembalikan ke awal :
alter table tbl_mhsiswa change id_ id_mhs int(5) not null auto_increment;
mysql> alter table tbl_mhsiswa change id_ id_mhs int(5) not null
auto_increment;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
Bagaimana caranya jika kita hanya ingin merubah ukurannya saja ? Cara nya seperti ini:
alter table tbl_mhsiswa modify id_mhs int(20) not null auto_increment;
mysql> alter table tbl_mhsiswa modify id_mhs int(20) not null auto_increment;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
memodifikasi id_mhs menjadi tipe integer dengan sizenya 20.
Dan untuk mengapus field yang ada caranya seperti ini, misalnya kita ingin mendelete
field status :
mysql> alter table tbl_mhsiswa drop status;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
Anda bisa melihat struktur yang ada dengan :
mysql> desc tbl_mhsiswa;
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id_mhs | int(20) | NO | PRI | NULL | auto_increment |
| nama_mhs | varchar(50) | YES | | NULL | |
| jenis_kelamin | varchar(10) | YES | | NULL | |
| tgl_lahir | date | YES | | NULL | |
| alamat | varchar(200) | YES | | NULL | |
+---------------+--------------+------+-----+---------+----------------+
5 rows in set (0.11 sec)
mysql>
.
Bab 3: memakai PHP dengan MySQL
81
kita coba isi terlebih dahulu dengan memakai perintah insert :
mysql> insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat)
values('Loka Dwiartara', 'pria', '1987-01-24', 'Jawa Barat');
Query OK, 1 row affected (0.05 sec)
mysql>
kemudian kita tampilkan lagi isi dari tbl_mhsiswa :
mysql> select * from tbl_mhsiswa;
+--------+----------------+---------------+------------+------------+
| id_mhs | nama_mhs | jenis_kelamin | tgl_lahir | alamat |
+--------+----------------+---------------+------------+------------+
| 1 | Loka Dwiartara | pria | 1987-01-24 | Jawa Barat |
+--------+----------------+---------------+------------+------------+
1 row in set (0.00 sec)
mysql>
kita coba isi kembali dengan record yang lain :
mysql> insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat)
values('Anggie Jatrasmara', 'pria', '1985-10-29', 'Jawa Timur');
Query OK, 1 row affected (0.00 sec)
mysql>
tampilkan kembali isinya :
mysql> select * from tbl_mhsiswa;
+--------+-------------------+---------------+------------+------------+
| id_mhs | nama_mhs | jenis_kelamin | tgl_lahir | alamat |
+--------+-------------------+---------------+------------+------------+
| 1 | Loka Dwiartara | pria | 1987-01-24 | Jawa Barat |
| 2 | Anggie Jatrasmara | pria | 1985-10-29 | Jawa Timur |
+--------+-------------------+---------------+------------+------------+
2 rows in set (0.00 sec)
mysql>
bagaimana jika kita ingin menampilkan record berdasarkan kriteria, misalkan ingin
melihat yang alamatnya di jawa barat saja :
select * from tbl_mhsiswa where alamat='Jawa Barat';
mysql> select * from tbl_mhsiswa where alamat='Jawa Barat';
+--------+----------------+---------------+------------+------------+
| id_mhs | nama_mhs | jenis_kelamin | tgl_lahir | alamat |
.
Bab 3: memakai PHP dengan MySQL
82
+--------+----------------+---------------+------------+------------+
| 1 | Loka Dwiartara | pria | 1987-01-24 | Jawa Barat |
+--------+----------------+---------------+------------+------------+
1 row in set (0.08 sec)
mudah ya?? apalagi jika anda sering berlatih untuk mengulang perintah-perintah yang
tadi. Kita coba isi kembali sebuah record kedalam tbl_mhsiswa :
insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat) values('Deny
Sarwono', 'Pria', '1986-12-09','Jawa Barat');
mysql> insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat)
values('Deny Sarwono', 'Pria', '1986-12-09','Jawa Barat');
Query OK, 1 row affected (0.00 sec)
tampilkan kembali :
select * from tbl_mhsiswa;
mysql> select * from tbl_mhsiswa;
+--------+-------------------+---------------+------------+------------+
| id_mhs | nama_mhs | jenis_kelamin | tgl_lahir | alamat |
+--------+-------------------+---------------+------------+------------+
| 1 | Loka Dwiartara | pria | 1987-01-24 | Jawa Barat |
| 2 | Anggie Jatrasmara | pria | 1985-10-29 | Jawa Timur |
| 3 | Deny Sarwono | Pria | 1986-12-09 | Jawa Barat |
+--------+-------------------+---------------+------------+------------+
3 rows in set (0.00 sec)
mysql>
Kita akan coba mendelete yang tanggal lahirnya '1986-12-09' :
delete from tbl_mhsiswa where tgl_lahir = '1986-12-09';
mysql> delete from tbl_mhsiswa where tgl_lahir = '1986-12-09';
Query OK, 1 row affected (0.06 sec)
mysql>
kemudian untuk membuktikan sudah atau belum didelete cukup lakukan perintah yang
tadi, untuk menampilkan isi table:
select * from tbl_mhsiswa;
.
Bab 3: memakai PHP dengan MySQL
83
mysql> select * from tbl_mhsiswa;
+--------+-------------------+---------------+------------+------------+
| id_mhs | nama_mhs | jenis_kelamin | tgl_lahir | alamat |
+--------+-------------------+---------------+------------+------------+
| 1 | Loka Dwiartara | pria | 1987-01-24 | Jawa Barat |
| 2 | Anggie Jatrasmara | pria | 1985-10-29 | Jawa Timur |
+--------+-------------------+---------------+------------+------------+
2 rows in set (0.00 sec)
kita juga bisa melakukan modifikasi record yang ada dengan perintah update, sebagai
contohnya, kita akan coba mengganti Nama dari Anggie Jatrasmara menjadi
Jatrasmara :
update tbl_mhsiswa set nama_mhs='Jatrasmara' where alamat='Jawa Timur';
mysql> update tbl_mhsiswa set nama_mhs='Jatrasmara' where alamat='Jawa Timur';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
kita buktikan :
select * from tbl_mhsiswa;
mysql> select * from tbl_mhsiswa;
+--------+----------------+---------------+------------+------------+
| id_mhs | nama_mhs | jenis_kelamin | tgl_lahir | alamat |
+--------+----------------+---------------+------------+------------+
| 1 | Loka Dwiartara | pria | 1987-01-24 | Jawa Barat |
| 2 | Jatrasmara | pria | 1985-10-29 | Jawa Timur |
+--------+----------------+---------------+------------+------------+
2 rows in set (0.00 sec)
mudah ya??? anda bisa mengulang-ngulangnya kembali.
.
Bab 3: memakai PHP dengan MySQL
84
3.3 Bagaimana Php Bekerja Dengan Mysql
Bagaimana agar php dan mysql dapat bekerja secara bersama-sama? Jawabannya ya
dengan cara mengkoneksikan nya terlebih dahulu. sesudah terkoneksi selannjutnya yaitu
anda dapat memodifikasi database dengan menjadikan perintah-perintah atau syntax
dalam mysql yang tlah di pelajari tadi sebagai query yang ada dalam php. Bingung
bukan? Tapi pertanyaan-pertanyaan anda akan clear sesudah . Saya jelaskan mengenai
subbab selanjutnya.
3.4 Koneksi PHP dan MySQL
Untuk melakukan koneksi antara PHP dan MySQL yang perlu dilakukan yaitu
dengan memakai beberapa fungsi dalam php yang sudah disediakan untuk
menangani koneksi database, tidak hanya koneksi tapi dalam php pun sudah terdapat
fungsi untuk mengupdate, mendelete, menginsert dan seputar fungsi yang dapat
menjalankan syntax-syntax mysql yang telah saya jelaskan pada subbab sebelumnya.
Awalnya mungkin memang agak sulit dimengerti bagi anda yang pemula dalam
programming, tapi jika sering di ulang, saya jamin anda akan cepat mahir.
Untuk melakukan koneksi antara php dan mysql sebelumnya terlebih dahulu masuk
ke dalam c:\xampp\htdocs\. Kemudian kita buat sebuah folder dengan nama latihan3,
kemudian buat sebuah file dengan nama koneksi.php
<?php
// untuk dapat mengkoneksikan php kepada mysql
// ada 4 informasi yang anda butuhkan,
// pertama yaitu host ini yaitu nama suatu komputer
// username, ini merupakan username dari mysql server yang telah terinstal
// bersamaan dengan xampp
// password sama dengan username
// dan database apa yang ingin di koneksikan
// defaultnya ketika anda memakai xampp maka informasi tersebut berisi
// hostnya yaitu localhost, usernamenya yaitu root, dan passwordnya itu
// kosong
// sedangkan database yang akan kita koneksikan yaitu database yang
// telah kita buat sebelumnya
// oke langsung saja kita ketikan seperti ini
// pertama yaitu hostnya
$host = "localhost";
// kemudian yaitu username
.
Bab 3: memakai PHP dengan MySQL
85
$username = "root";
// lalu passwordnya
$password = "";
// dan selanjutnya yaitu database
$database = "";
// kemudian untuk mengkoneksikannya caranya yaitu dengan fungsi mysql_connect
// seperti ini
$koneksi = mysql_connect($host, $username, $password);
// ini berarti tolong koneksikan php kepada mysql dengan informasi host,
// username, dan password
// kemudian untuk memilih database yang akan di koneksikan
// pilihlah database yang ada dalam koneksi yang sedang berlangsung, jika tidak
// bisa maka gagal koneksi
// mudah bukan ???
$pilihdatabase = mysql_select_db($database, $koneksi);
if ($pilihdatabase) echo "Berhasil";
else echo "Gagal Koneksi";
// apabila kita eksekusi di browser, jika koneksi sukses maka tampilannya
// "Berhasil"
// namun jika terdapat komentar Gagal Koneksi, berarti anda belum berhasil
?>
.
Bab 3: memakai PHP dengan MySQL
86
3.5 Database Query
sesudah berhasil melakukan koneksi, selanjutnya kita akan coba untuk menampilkan
isi databse memakai php, pada bab 2 saya telah jelaskan secara rinci bagaimana
memakai PHP dengan benar, kita akan aplikasikan pada subbab ini.
Di sini kita akan coba bagaimana menampilkan isi database memakai
pengulangan jenis while masuk dulu ke dalam direktori latihan3 yang tadi, kemudian
buat sebuah file dengan nama selectquery1.php
Untuk dapat menampilkan isi database, pertama yaitu lakukan dulu koneksi, baru
kemudian jalankan querynya untuk menampilkan isi databasenya.
<?php
include "koneksi.php";
$tampilkan = "select * from tbl_mhsiswa";
$query_tampilkan = mysql_query($tampilkan);
while($hasil = mysql_fetch_array($query_tampilkan))
{
echo $hasil['nama_mhs']."<br />";
}
?>
mudah bukan??? anda cukup mengulang-ngulang cara ini hingga anda menjadi seorang
yang advanced dalam memakai query mysql pada php.
Kita akan coba memakai query yang sama untuk mengambil field yang lain...
<?php
include "koneksi.php";
$tampilkan = "select * from tbl_mhsiswa";
$query_tampilkan = mysql_query($tampilkan);
while($hasil = mysql_fetch_array($query_tampilkan))
{
echo $hasil['nama_mhs']."<br />";
echo $hasil['jenis_kelamin']."<br />";
}
?>
kita juga dapat melakukan query insert dengana memakai php, buat sebuah file
dengan nama insertquery.php
.
Bab 3: memakai PHP dengan MySQL
87
<?php
include "koneksi.php";
$insert = "insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat)
values('Deny Sarwono', 'Pria', '1986-12-09','Jawa Barat');";
$insert_query = myqsl_query($insert);
if($insert_query) {echo "Berhasil di insert";}
else {echo "Gagal Insert Record";}
?>
selain itu kita juga bisa melakukan query delete dengan memakai php, buat sebuah
file dengan nama deletequery.php
<?php
include "koneksi.php";
$delete = "delete from tbl_mhsiswa where tgl_lahir = '1986-12-09';";
$delete_query = mysql_query($delete);
if($delete_query) echo "Record Telah berhasil di hapuss...";
else echo "Record Gagal untuk dihapus..";
?>
.
Bab 3: memakai PHP dengan MySQL
88
3.6 memakai PHPMyAdmin
Selain memakai mysql yang ada di command prompt, kita juga bisa memakai
phpmyadmin, sebuah aplikasi berbasis web yang dapat memanage database, untuk dapat
memakai phpmyadmin, cukup gunakan browsert internet kesukaan anda, dalam hal
ini saya memakai browser mozilla firefox. lalu kita isi alamatnya di address bar
seperti ini :
http://localhost/phpmyadmin
Kita lihat disini, terdapat database yang telah kita buat sebelumnya. yakni database
. Apabila kita klik struktur di bagian sini, maka hasilnya terlihat sama dengan
yang ada di command prompt mysqlnya. Sama Bukan?
Saya akan jelaskan bagaimana membuat database di phpmyadmin, bagaimana
memanagenya melakukan insert record, delete record, manipulasi table dan database.
Membuat database dengan phpmyadmin
Balik ke awal halaman phpmyadmin, kemudian buat satu buah database, dengan nama
2, caranya cukup gampang tinggal memasukkan namanya, 2
kemudian tekan tombol Create, cukup mudah ya ???
Gambar 3.2 (Dos 2)
.
Bab 3: memakai PHP dengan MySQL
89
Membuat table dengan phpmyadmin
Oke dari situ kita coba langsung satu buah table yang strukturnya sama denga tabel yang
telah kita buat sebelumnya, seperti ini :
field tipe size
id_mhs int 5
nama_mhs varchar 50
jenis_kelamin varchar 10
tgl_lahir date -
alamat varchar 200
kita coba akan buat, 1 table dengan nama tbl_mhsiswa, dengan 5 field. Sehingga tinggal
masukkan ke dalam phpmyadminnya, nama = tbl_mhsiswa, dan number of fields = 5
Gambar 3.2 (Dos 2)
Kemudian klik Go. Beres.
.
Bab 3: memakai PHP dengan MySQL
90
Bagian-bagian dari phpmyadmin
Jika dalam command prompt mysql, kita bersusah payah untuk merubah struktur suatu
field memakai perintah-perintah, taapi dengan phpmyadmin kita cukup melakukan
klak klik, pekerjaan mudah dilakukan untuk merubah struktur dari suatu table kita cukup
memilih tablenya lalu pilih struktur, disini saya akan jelaskan fungsi dari masing-masing
tab.
browse
berguna untuk menampilkan record yang telah di insertkan
structure
untuk melihat dan memodifikasi struktur table yang ada misalnya kita mengganti field
nama_mhs, menjadi nama_, begitu juga apabila ingin menambah field, anda
cukup mengaddnya ...
sql
ini berfungsi untuk menjalankan custom query, anda bisa menjalankan query mysql disini
insert
insert ini digunakan untuk menginsertkan record, berisi form-form yang siap anda
inputkan
export
export digunakan untuk mengeksportkan database, biasanya hal ini kita temukan ketika
ingin memindahkan database lokal ke database hosting, untuk dionlinekan. oke sebagai
contoh seperti ini ...
import
fasilitas import ini digunakan untuk mengimportkan database yang sebelumnya telah
diexportkan import berfungsi untuk merubah query-query mysql kedalam database yang
real.
.
Bab 4: Menampilkan Data memakai Table
91
Bab 4:
Menampilkan Data
memakai Table
4.1 Mendefinisikan Tabel Heading
Dalam proses pembuatan sebuah aplikasi berbasis website, contohnya sistem
informasi, seorang developer aplikasi biasanya banyak memakai tabel ketika akan
menampilkan suatu informasi. banyak keuntungan ketika memakai tabel, tampilan
cenderung lebih rapi, dan proses menampilkan jauh lebih mudah.
Sebelum kita memanfaatkan tabel, saya akan jelaskan dulu, bagaimana proses tabel
ini digunakan. Terdapat dua bagian yang akan kita kerjakan, yakni :
Bagian Statis
Bagian Dinamis
Gambar 4.1 (Table Heading)
.
Bab 4: Menampilkan Data memakai Table
92
Yang di maksud bagian statis yaitu heading dari tablenya, seperti : No, Nama,
Jenis, Kelamin, Tanggal Lahir, Alamat. Sedangkan yang dibagian bawahnya Contoh
No, Contoh Nama, dan lain-lain itu yaitu bagian yang dinamisnya. Di mana bagian
yang dinamis ini yaitu data yang kita ambil dari database.
Dalam mengambil data dinamis, php mengambilnya secara per-record/perbaris,
sehingga untuk menampilkan datanya pun kita lakukan dengan cara perbaris, oke
langsung saja kita buat table headingnya terlebih dahulu. Kemudian kita buat
template/contoh data ... ini akan mempermudah kita dalam proses penampilan data
nantinya, kita kerjakan bagian statis terlebih dahulu dengan membuat file tablehead.php,
terlebih dahulu, di sini kita buat html dengan table didalamnya, penulis asumsikan anda
telah mengetahui pembuatan table memakai html.
<html>
<head><title>Latihan 4 - Table Heading</title></head>
<body>
<table border='1' cellpading='2' cellspacing='2' align='center'
width='70%'>
<tr><th>No</th><th>Nama</th><th>Jenis Kelamin</th><th>Tanggal
Lahir</th><th>Alamat</th></tr>
<tr><td>Contoh No</td><td>Contoh Nama</td><td>Contoh Jenis
Kelamin</td><td>Contoh Tanggal Lahir</td>
<td>Contoh Alamat</td></tr>
</table>
</body>
</html>
Hasilnya di browser :
.
Bab 4: Menampilkan Data memakai Table
93
Gambar 4.1 (Table Heading)
4.2 Memasukkan Data ke dalam tabel
Kita masih memakai isi file yang tadi, kita akan membuat bagian yang dinamis
dalam menampilkan data, caranya yaitu dengan mengambil isinya dari database,
sebelum dapat mengambil atau menampilkan data, terlebih dahulu kita lakukan koneksi,
kita akan gunakan file koneksi.php yang dibab 3 telah kita buat, kita manfaatkan file
tersebut sebagai file koneksi yang akan menghubungkan php dengan mysql sehingga kita
bisa menampilkan isinya kedalam table.
<html>
<head><title>Latihan 4 - Table Heading</title></head>
<body>
<table border='1' cellpadding='2' cellspacing='2' align='center'
width='70%'>
<tr><th>No</th><th>Nama</th><th>Jenis Kelamin</th><th>Tanggal
Lahir</th><th>Alamat</th></tr>
<!--
kita akan menampilkan isi databasenya di sini ...
dengan memanfaatkan pola contoh data yang telah kita buat sebelumnya
-->
<!-- bagian dinamis -->
<?php
// kita gunakan echo untuk dapat ditampilkan oleh php
echo "<tr align='center'><td>Contoh No</td><td>Contoh
Nama</td><td>Contoh Jenis Kelamin</td>
<td>Contoh Tanggal Lahir</td><td>Contoh Alamat</td></tr>";
?>
<!-- bagian dinamis -->
</table>
</body>
</html>
.
Bab 4: Menampilkan Data memakai Table
94
Script lengkapnya yaitu sebagai berikut :
<html>
<head><title>Latihan 4 - Table Heading</title></head>
<body>
<table border='1' cellpadding='2' cellspacing='2' align='center'
width='70%'>
<tr><th>No</th><th>Nama</th><th>Jenis Kelamin</th><th>Tanggal
Lahir</th><th>Alamat</th></tr>
<!--
kita akan menampilkan isi databasenya di sini ...
dengan memanfaatkan pola contoh data yang telah kita buat sebelumnya
-->
<!-- bagian dinamis -->
<?php
include "koneksi.php";
$tampilkan_isi = "select * from tbl_mhsiswa";
$tampilkan_isi_sql = mysql_query($tampilkan_isi);
while ($isi = mysql_fetch_array($tampilkan_isi_sql))
{
$no = $isi['id_mhs'];
$nama = $isi['nama_mhs'];
$jeniskelamin = $isi['jenis_kelamin'];
$tanggallahir = $isi['tgl_lahir'];
$alamat = $isi['alamat'];
echo "<tr align='center'> <td>$no</td> <td>$nama</td>
<td>$jeniskelamin</td> <td>$tanggallahir</td> <td>$alamat</td> </tr>";
?>
<!-- bagian dinamis -->
</table>
</body>
</html>
.
Bab 5: Bekerja dengan Form
95
Bab 5:
Bekerja dengan Form
5.1 memakai Form
Kita berada dalam topik bahasan yang benar-benar berperan penting dalam
developing website, atau developing aplikasi berbasis website. Halaman tanpa form,
tidak bisa digunakan untuk menginput, jelaslah itu...
Website yang interaktif, menjadikan user dapat berperan aktif misalnya seperti
mengisi poling, berkomentar pada suatu artikel, bahkan menginput berita untuk di
umumkan ke orang banyak, dan contoh yang lain, dalam suatu sistem aplikasi berbasis
website, form merupakan sesuatu yang layak digunakan, sebab untuk melakukan suatu
inputan itu tidak bisa dilakukan dengan cara yang lain.
Di sini saya akan coba jelaskan bagaimana memanfaatkan php dalam memproses
form inputan dari user, pertama yang harus kita buat yaitu tampilan form untuk user,
kita buat satu buah file dengan nama form1.html kita akan buat sebuah halaman html
berisi 1 buah form :
<html>
<head><title>Form 1 - Latihan 5</title></head>
<body>
// disini kita akan manfaatkan table untuk membuat form
// pertama buat formnya terlebih dahulu
<form method="POST" action="process1.php">
.
Bab 5: Bekerja dengan Form
96
// attribut method berisi POST, ini memiliki arti, lakukan metode
// pengiriman, tapi apa yang dikirimkan itu
// tidak tampil di url browser
// saya akan jelaskan nanti di contoh yang lain, masih dalam sub bab
// ini...
// namun sementara kita diamkan seperti itu dulu, dengan method POST
// untuk action="process1.php" ini berarti kirimkan data-data yang di
// input oleh user ke file process1.php
// untuk proses selanjutnya
// kemudian kita buat layout form nya dengan table
<table border='1' width='10%' cellpading='1' cellspacing='1'
align='center'>
// kita membutuhkan satu input bertipe text, input ini nantinya yang
// berperan untuk menerima inputan dari user
<tr><td>Name</td><td><input type="text" name="nama" /></td></tr>
// kemudian kita membutuhkan input bertipe submit yang berfungsi untuk
// mengirimkan datanya ke file action,
// dalam hal ini process1.php
<tr><td></td><td><input type="submit" name="kirim" value = "kirim" />
</td></tr>
</table>
// kemudian jangan lupa untuk menutup formnya
</form>
</body>
</html>
kita lihat hasilnya di browser :
Gambar 5.1 (Form1.html)
.
Bab 5: Bekerja dengan Form
97
Apabila kita isi namanya, kemudian kita klik kirim, yang terjadi yaitu ... error. Ini
disebab kan kita belum membuat file process1.php.
Apabila kita view selection source (nama), input bertipe name itu menghasilkan
textbox yang dapat menerima inputan begitu juga dengan input bertipe submit, ini
berfungsi untuk mengirim data.
.
Bab 5: Bekerja dengan Form
98
5.2 Memproses Form
sesudah kita membuat formnya, langkah selanjutnya yaitu , buat satu buah file,
yakni process1.php, file ini berfungsi untuk menerima inputan, lalu memprosesnya, dan
menampilkan yang telah di inputkan, kemudian di dalamnya kita ketikkan ...
// kita awali dengan cara mendefinisikan ini yaitu script php
<?php
// untuk mengambil informasi yang telah di kirimkan
// kita perlu mengetahui 2 hal,
// yang pertama, informasi yang dikirimkan itu memakai metode apa
// dan yang kedua, untuk menampilkan suatu data, anda perlu melihat
// attribut
// name, dari suatu input
// dalam hal ini kita ingin menampilkan data yang diinputkan melalui
// nama,
// terlebih dahulu kita
// lihat attribut name
// dari form yang telah dibuat, (lihat filenya) dan kita lihat, si
// input type
// text ini
// memiliki attribut name yang berisi "nama"
// nama inilah yang akan kita gunakan
// sehingga kita menampilkan isi yang telah di input dengan
// methodnya, kemudian isi attribut name dari input type text
// kita cukup menulisnya seperti ini ...
echo $_POST['nama'];
?>
kemudian kita lihat hasilnya di browser, pertama masuk kedalam formnya terlebih dahulu
... lalu kita isi namanya, dan kita kirim, yang terjadi yaitu process1.php menampilkan
inputan dari form1.html
.
Bab 5: Bekerja dengan Form
99
5.3 Input Radio
Sebelumnya telah kita pelajari bagaimana membuat form inputan dan memproses
inputan tersebut, sekarang kita akan pelajari bagaimana memproses inputan bertipe radio
alias pilihan, sebetulnya tidak ada yang berbeda dengan input type text, kita cukup
memanggil attribut namenya saja, oke langsung saja kita buat formnya, dengan nama
form2_radiobutton.html terlebih dahulu :
<html>
<head><title>Form 2 Input RadioButton - Latihan 5</title></head>
<body>
// kita akan kirimkan dia ke process2.php, dengan method nya post,
<form action="process2.php" method="POST">
<table border='1' width='20%' cellpadding='1' cellspacing='1' align='center'>
// kemudian kita buat 2 radio button dengan nama yang sama, namun valuenya
// berbeda ...
<tr><td>Jenis Kelamin</td><td><input type="radio" name="jenis_kelamin"
value="laki-laki"/>laki-laki</td></tr>
<tr><td></td><td><input type="radio" name="jenis_kelamin"
value="perempuan"/>perempuan</td></tr>
// kita buat submit atau pengirimnya ...
<tr><td></td><td><input type="submit" name="kirim" value="kirim" /></td></tr>
</table>
</form>
</body>
</html>
kemudian kita buat satu buah file, dengan nama prosess2.php, file ini lah yang akan
menampilkan jenis kelamin yang dipilih, kita cukup memakai methodnya, dan
mengaskses input namenya ...
<?php
echo $_POST['jenis_kelamin'];
?>
kita buka formnya :
http://localhost/file.latihan.php/latihanbab5/form2_radiobutton.html
kemudian isi, dan kita submit, lalu lihat hasilnya di browser, ini terjadi sebab yang
ditampilkan itu ada value dari input type radio nya jenis_kelamin. Cukup mudah
bukan???
.
Bab 5: Bekerja dengan Form
100
5.4 Input Select Option
memakai input select option tidak berbeda dengan radio button, namun hanya
berbeda di struktur htmlnya saja. buat form htmlnya terlebih dahulu ...
<html>
<head><title>Form 3 Input Select Option - Latihan 5</title></head>
<body>
// kita akan mengirimkan dengana method post ke halaman process3.php
<form action="process3.php" method="POST">
<table border='1' width='20%' cellpadding = '1' cellspacing = '1'
align ='center'>
<tr><td>Jenis Kelamin</td><td>
// lalu kita membuat input select nya kita beri nama kota
<select name="kota">
// kemudian kita buat pilihannya
// option Bogor dengan valuenya bogor
<option value="bogor">Bogor</option>
// value nya inilah yang nantinya akan ditampilkan
<option value="surabaya">Surabaya</option>
<option value="yogyakarta">Yogyakarta</option>
// kita tutup dengan membuat tag select penutup
</select>
</td></tr>
// dan membuat button submitnya
<tr><td></td><td><input type="submit" name="kirim" value="kirim" />
</td></tr>
</table>
</form>
</body>
</html>
kita cek di browser, oke sudah mantap, selanjutnya kita buat file process3.php
sekali lagi yang kita tuliskan di phpnya yaitu methodenya dan nama inputannya
<?php
echo $_POST['kota'];
?>
.
Bab 5: Bekerja dengan Form
101
5.5 Input CheckBox
Input type checkbox, dapat digunakan seperti layaknya radiobutton, cukup gunakan nama
untuk dapat menampilkan isinya, namun bagaimana jika kita ingin membuat banyak
checklis, dan semua checklis yang terpilih itu di tampilkan ?? disinilah gunanya looping
dan array. Kita buat formnya terlebih dahulu ...
<html>
<head><title>Form 4 Input Checkbox - Latihan 5</title></head>
<body>
<form action="process4.php" method="POST">
<table border='1' width='20%' cellpadding='1' cellspacing='1'
align='center'>
// disini ... lalu kita buat checkboxnya, dengan nama sama, namun di
// belakang namanya kita
// sisipkan dalam kurung kotak seperti ini
// sehingga nanti name ini berfungsi sebagai array
<tr><td>Status Kelulusan : </td><td><input type="checkbox"
name="lulus[]" value="SD"/>SD</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMP"/>
SMP</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMP"/>
SMP</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMA"/>
SMA</td></tr>
<tr><td></td><td><input type="submit" name="kirim" value="kirim"
/></td></tr>
</table>
</form>
</body>
</html>
kemudian kita buat sebuah file php dengan nama process4.php
// kita awali dengan tag php
<?php
// kemudian kita coba dengan
// menampilkan isi, dengan memanggil attribut namenya yakni lulus
echo $_POST['lulus'];
?>
.
Bab 5: Bekerja dengan Form
102
kemudian kita coba di browser, kita pilih 2 saja misalnya, kemudian submit ... apa yang
terjadi ?? Array, ini disebab kan kita menceklis banyak checkbox, sehingga perlu syntax
sendiri untuk dapat menampilkannya, kita akan coba memanggilnya array index 0
<?php
// kita ganti dengan [0]
echo $_POST['lulus'][0];
?>
kita coba lihat di browser, dan ceklis yang paling pertama itu yang ditampilkan, nah
sekarang bagaimana jika kita ingin menampilkan semua yang terpilih atau terceklis ?
<?php
// pertama yaitu kita menghitung berapa jumlah checkbox yang
// terpilih??
$jumlah_terpilih = count($_POST['lulus']);
// kita bisa tampilkan berapa yang terpilih dengan memanfaatkan echo
echo $jumlah_terpilih ;
?>
Silahkan kembali ke browser anda, dan lihat hasilnya ?? oke...
Langkah selanjutnya yaitu kita melakukan looping sebanyak ceklis yang terpilih
caranya?? buka kembali file tadi
<?php
$jumlah_terpilih = count($_POST['lulus']);
// kemudian ganti dengan looping
// lakukan pengulangan mulai dari 0, sampai kurang dari jumlah dari
// ceklis yang terpilih
// kemudian lakukan penambahan satu demi satu sampai pengulangannya
// selesai
for ($x=0;$x<=$jumlah_terpilih;$x++)
{
// kemudian tampilkan isinya dengan menyebut methode, atribut
// name, dan arraynya
echo $_POST['lulus'][$x];
}
?>
lalu kita lihat di browser, ceklis yang akan di pilih, kemudian kirim, apa yang terjadi,
cukup mudah ya??
.
Bab 5: Bekerja dengan Form
103
5.6 Perbedaan POST dan GET
Apa yang membedakan method post dan get pada suatu form ??? Saya akan coba
jelaskan disini, dalam method post seperti praktek-praktek yang sudah kita lakukan
sebelumnya, apabila kita lihat url halaman diaddress bar kita lihat. Apabila kita klik
kemudian disubmit, kita lihat url address barnya, process4.php, url terlihat bersih. dan
tidak mengandung parameter-parameter lain selain nama filenya. Apa bedanya dengan
GET ? oke langsung saja kita praktikan, kita gunakan file yang sebelumnya
form4_checkbox.html namun untuk saya sendiri saya melakukan save ulang dengan
nama form5_checkboxget.html.
<html>
<head><title>Form 5 Input Checkbox - Latihan 5</title></head>
<body>
// namun kita ganti methodnya dari POST menjadi GET
<form action="process5.php" method="GET">
<table border='1' width='20%' cellpadding='1' cellspacing='1'
align='center'>
<tr><td>Status Kelulusan : </td><td><input type="checkbox"
name="lulus[]" value="SD"/>SD</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMP"/>SMP
</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMP"/>SMP
</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMA"/>SMA
</td></tr>
<tr><td></td><td><input type="submit" name="kirim" value="kirim"
/></td></tr>
</table>
</form>
</body>
</html>
kemudian di bagian process5.php dengan mengambil isi dari file sebelumnya yakni
process4.php kita ganti POST menjadi GET juga
<?php
$jumlah_terpilih = count($_GET['lulus']);
for ($x=0;$x<$jumlah_terpilih;$x++) {
echo $_GET['lulus'][$x]."<br /> ";
}
?>
.
Bab 5: Bekerja dengan Form
104
Dan kita lihat apa yang terjadi ??? url nya jadi lebih panjang, dan memiliki parameter-
paramter yang berisi data yang di inputkan, biasanya get ini digunakan dalam fasilitas
search dari suatu website, dan google pun memakai method ini dalam pencarian data
...
.
Bab 5: Bekerja dengan Form
105
5.7 Multiple Submit
Multiple submit biasanya digunakan untuk 2 proses yang berbeda, sejauh yang saya
temui, biasanya multiple submit digunakan untuk melakukan edit ataupun delete suatu
data, bisa juga untuk mempublish ataupun untuk mengedit suatu artikel, dan lain-lain
sebagainya ... di sini saya akan coba jelaskan bagaimana memakai multiple submit...
untuk melakukan dua proses yang berbeda, contoh kasus disini yaitu insert dan update,
Ketika input submit insert di klik maka proses insert terjadi, sedangkan jika input
submit update di klik maka proses update yang terjadi ....
Kita akan gunakan file form1.php, dengan sedikit penambahan di sana sini ....
<html>
<head><title>Form 6 - Latihan 5</title></head>
<body>
<form action="process6.php" method="POST">
<table border='1' width='10%' cellpadding='1' cellspacing='1'
align='center'>
<caption><strong>Multiple Submit</strong></capion>
<tr><td>Nama</td><td><input type="text" name="nama" /></td></tr>
<tr><td>Jenis Kelamin</td><td><input type="radio" name="jenis_kelamin"
value="laki-laki"/>Laki-laki<br />
<input type="radio" name="jenis_kelamin"
value="perempuan"/>Perempuan</td></tr>
<tr><td>Alamat</td><td><input type="text" name="alamat" /></td></tr>
<tr><td></td><td>
// lalu disini kita akan gunakan dua submit, attribut namenya di isi
// sama, namun valuenya yang berbeda...
<input type="submit" name="kirim" value="update" />
<input type="submit" name="kirim" value="insert" /></td></tr>
</table>
</form>
</body>
</html>
kita lihat di browser, terdapat dua submit, kemudian kita akan membuat 2 proses, ketika
tombol update di klik apa yang terjadi dan ketika tombol insert di klik apa yang terjadi ...
Oke kita buat satu file dengan nama process6.php, kita akan memanfaatkan
.
Bab 5: Bekerja dengan Form
106
argumen if, else if, dan else, ini kita gunakan untuk kondisional, ketika tombol insert atau
tombol update di klik maka ada, sesuatu yang terjadi ...
<?php
// jika tombol kirim yang memiliki value insert di klik
if ($_POST['kirim'] == "insert")
{
echo "Proses Insert...";
}
// namun jika yang di klik itu tombol update
// artinya jika tombol kirim yang memiliki value update di klik
else if ($_POST['kirim'] == "update")
{
// maka lakukan proses update
echo "Proses Update...";
// lalu kita tutup lagi
}
// dan jika tidak ada button yang diklik
else
{
// maka tidak ada proses apa-apa yang terjadi ...
echo "Tidak ada proses...";
}
?>
kita lihat di browser, ketika button insert di klik, apa yang terjadi, dan ketika tombol
update di klik yang terjadi yaitu ...
.
Bab 5: Bekerja dengan Form
107
5.8 Dasar Input ke database
Pada bagian ini akan saya jelaskan kepada anda, dasar bagaimana meninsertkan
data ke dalam database data yang di input melalui form. ketika admin atau user
menginputkan data ke form, ketika tombol submit dikirim data yang dikirim itu akan di
proses kemudian di masukkan kedalam database, itu semua akan kita pelajari disini ...
Contoh kasus yang akan saya jelaskan yaitu , bagaimana memakai form untuk
menginsert data. Untuk secara lengkapnya, mengenai bagaimana melakukan insert,
delete, update data memakai php itu akan saya jelaskan di bab 6. Sementara sub bab
ini hanya menerangkan sekelumit saja, mengenai penggunaan form dalam menginsert
data.
Oke, disini kita akan membuat form terlebih dahulu, saya sudah menyiapkan filenya
di dalam file latihanbab7, dengan nama form7_insertdatabase.html :
<html>
<head><title>Form 7 - Latihan 5</title></head>
<body>
<form action="process7_database.php" method="POST">
<table border='0' cellpadding='3' cellspacing='3' align='center'>
<caption><strong>Formulir Biodata
</strong><br/><br/></caption><br/>
<tr><td>Nama</td><td><input type="text" name="nama" /></td></tr>
<tr><td>Jenis Kelamin</td><td><label for="jeniskelamin"><input
type="radio" name="jeniskelamin" value="pria"/>Pria</label>
<label for="jeniskelamin"><input type="radio" name="jeniskelamin"
value="wanita"/>Wanita</label>
</td></tr>
<tr><td>Tanggal lahir</td><td>
<select name="tanggal">
<option value="01">1</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
.
Bab 5: Bekerja dengan Form
108
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
/<select name="bulan">
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maret</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Agustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Desember</option>
</select>
/<select name="tahun">
<option value="1980">1980</option>
<option value="1981">1981</option>
<option value="1982">1982</option>
<option value="1983">1983</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
.
Bab 5: Bekerja dengan Form
109
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
</select>
</td></tr>
<tr><td>Alamat</td><td><textarea cols="20" rows="5"
name="alamat"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="kirim" value="kirim"
/></td></tr>
</table>
</form>
</body>
</html>
Kita lihat dulu hasilnya di browser mozilla firefox,
Gambar 5.2 (Form Bioadata)
.
Bab 5: Bekerja dengan Form
110
selanjutnya kita membuat file yang dapat memproses inputan tersebut ke dalam database,
mula-mula kita buat filenya terlebih dahulu, saya menamakan process7_database.php,
sebab sesuai dengan action pada halaman form yang telah dibuat tadi.
<?php
// nama, jeniskelamin, tanggal, bulan, tahun, alamat
// kemudian untuk dapat menginsert databasenya kita kita lakukan
// koneksi dulu
// kita ambil file koneksi yang pada bab3 telah saya jelaskan
// sebelumnya
include "koneksi.php";
// kemudian kita ambil data-data yang dikirim dari formnya
// di masukkan ke dalam variabel
// ini digunakan untuk memmudahkan proses insert record ke dalam
// database
$nama = $_POST['nama'];
$jeniskelamin = $_POST['jeniskelamin'];
// untuk dapat menginsertkan tanggal ke dalam database
// terlebih dahulu kita rubaah formatnya menjadi tahun-bulan-tanggal
// seperti ini ...
$tanggallahir = $_POST['tahun'].'-'.$_POST['bulan'].'-
'.$_POST['tanggal'];
$alamat = $_POST['alamat'];
// sesudah dari situ kemudian kita buat query mysql untuk insert record
// kedalam tbl_mhsiswa
$insert = "insert into `tbl_mhsiswa` (`nama_mhs`, `jenis_kelamin`,
`tgl_lahir`, `alamat`)
values ('$nama', '$jeniskelamin', '$tanggallahir','$alamat');";
// lalu lakukan querynya
$insert_query = mysql_query($insert);
// untuk memberitahukan jika record yang telah berhasil diinsert ke
// dalam database
if($insert_query) {
echo "Insert Record Berhasil<br />";
echo "Anda Telah berhasil Menginput data:";
echo $nama,"<br />",$jeniskelamin,"<br />",$tanggallahir,"<br
.
Bab 5: Bekerja dengan Form
111
/>",$alamat ; }
// namun jika gagal....
else
echo "Gagal Insert Record";
?>
oke, beres, kita coba langsung buka formnya di mozilla firefox, kemudian kita inputkan
data kedalam form,
Gambar 5.3 (Form Biodata)
kemudian tekan submit, apa yang terjadi,
Insert Record Berhasil
Anda Telah berhasil Menginput data:
Hartono Gunawan
pria
1987-03-12
Jalan Roda
kita lihat di phpmyadmin, data yang telah kita input telah berhasil masuk ke dalam
tbl_mhsiswa ...
.
Bab 5: Bekerja dengan Form
112
Gambar 5.3 (Form Biodata)
.
Bab 5: Bekerja dengan Form
113
5.9 Page Title yang dinamis dan Memanfaatkan URL dalam PHP
Dengan memanfaatkan tag title dalam html dan bantuan php serta mysql, anda
dapat membuat halaman html memiliki page title yang dinamis. Di sini pula saya akan
jelaskan, bagaimana memanfaat url dalam php dalam memproses inputan dari user. Ada
dua langkah yang akan kita kerjakan ...
Pertama kita akan cuma menampilkan nama yang diambil dari database,
nama ini akan ditampilkan dalam bentuk url, dan ketika url ini di klik maka
akan menampilkan informasi detil mengenai tersebut
Kedua, nama itu akan muncul dalam title dari suatu halaman, yang
memberitahukan jika kita sedang mengakses data mengenai bernama si x.
Oke, tahapan pertama yaitu kita membuat file untuk menampilkan nama-nama
...
Saya menamakan filenya dengan nama displaydata.php
<?php
// kita lakukan koneksi terlebih dahulu ...
include "koneksi.php";
// kemudian buat satu query yang akan mengambil id , dan nama
//
// id di ambil sebagai kunci untuk menampilkan detil
//
// jadi detil informasi , berisi nama, alamat, tanggal lahir
// itu akan ditampilkan dengan memanfaatkan idnya nantinya ....
$tampil_nama = "select id_mhs, nama_mhs from tbl_mhsiswa";
// kemudian kita jalankan querynya ...
$tampil_nama_query = mysql_query($tampil_nama);
// lalu kita tampilkan isi databasenya
while ($hasil = mysql_fetch_array($tampil_nama_query))
{
// lalu kita tampilkan datanya sebagai link url, yang ketika di klik
// akan menampilkan
// informasi detil mengenai detil tersebut
echo "<a href=detaildata.php?id=",$hasil['id_mhs'], ">",
$hasil['nama_mhs'],"</a><br />";
}
?>
.
Bab 5: Bekerja dengan Form
114
lalu kita coba tes di browser mozilla firefox, kita lihat urlnya,
http://localhost/file.latihan.php/latihanbab5/detaildata.php?id=1
Masing-masing memiliki id yang berbeda misalnya id untuk loka dwiartara kita lihat
detaildata.php?id=1
Dan ketika kita klik nantinya akan menampilkan informasi detil mengenai loka
dwiartara ini, tapi untuk sekarang apabila kita klik, ini terjadi sebab kita belum memiliki
filenya. Kita akan coba buat halaman yang akan dapat menampilkan detil informasi
mengenai loka dwiartara sesuai dengan url yang tadi, saya akan membuat file dengan
nama detaildata.php
<?php
// pertama yaitu kita lakukan koneksi terlebih dahulu
// antara php dan mysql
include "koneksi.php";
// kemudian kita ambil nilai id yang ada pada url
$id = $_REQUEST['id'];
// lalu kita buat query yang hanya dapat menampilkan informasi
// yang kita klik saja
$detail = "select * from tbl_mhsiswa where id_mhs='$id'";
// kita jalankan querynya
$detail_query = mysql_query($detail);
while ($hasil = mysql_fetch_array($detail_query))
{
// lalu kita masukkan kedalam variable untuk mempermudah dalam
// menampilkan data
$nama = $hasil['nama_mhs'] ;
$jenis_kelamin = $hasil['jenis_kelamin'];
$tanggal_lahir = $hasil['tgl_lahir'];
$alamat = $hasil['alamat'];
// kemudian kita sisipkan data yang akan ditampilkan dalam satu
// variable
$data_lengkap = "Nama : ".$nama."<br />";
$data_lengkap .= "Jenis Kelamin : ".$jenis_kelamin."<br />";
// tanda titik ini berguna untuk menambahkan isi variable yang
.
Bab 5: Bekerja dengan Form
115
// sebelumnya agar tidak tertimpa
// melainkan hanya menambahkan saja, dan tidak ditampilkan, namun akan
// di tampilkan
// di akhir dari coding halaman ini ...
$data_lengkap .= "Tanggal Lahir : ".$tanggal_lahir."<br />";
$data_lengkap .= "Alamat : ".$alamat."<br />";
}
// kemudian tampilkan semua informasi detil.
echo "Informasi Detil mengenai <strong>$nama</strong> yaitu : <br
/>".$data_lengkap;
?>
Kita lihat di browser, silahkan di pilih kemudian apa yang terjadi, sudah cukup baik.
namun kita lihat page title nya masih statis, dan belum muncul. Bagaimana untuk
memunculkan page title sesuai dengan nama yang kita klik ???
Kita cukup menambahkan html tag di bawah file detaildata.php tadi ... Isi seperti ini ...
<?php
// pertama yaitu kita lakukan koneksi terlebih dahulu
// antara php dan mysql
include "koneksi.php";
// kemudian kita ambil nilai id yang ada pada url
$id = $_REQUEST['id'];
// lalu kita buat query yang hanya dapat menampilkan informasi
// yang kita klik saja
$detail = "select * from tbl_mhsiswa where id_mhs='$id'";
// kita jalankan querynya
$detail_query = mysql_query($detail);
while ($hasil = mysql_fetch_array($detail_query))
{
// lalu kita masukkan kedalam variable untuk mempermudah dalam
// menampilkan data
$nama = $hasil['nama_mhs'] ;
$jenis_kelamin = $hasil['jenis_kelamin'];
$tanggal_lahir = $hasil['tgl_lahir'];
$alamat = $hasil['alamat'];
.
Bab 5: Bekerja dengan Form
116
// kemudian kita sisipkan data yang akan ditampilkan dalam satu
// variable
$data_lengkap = "Nama : ".$nama."<br />";
$data_lengkap .= "Jenis Kelamin : ".$jenis_kelamin."<br />";
// tanda titik ini berguna untuk menambahkan isi variable yang
// sebelumnya agar tidak tertimpa
// melainkan hanya menambahkan saja, dan tidak ditampilkan, namun akan
// di tampilkan
// di akhir dari coding halaman ini ...
$data_lengkap .= "Tanggal Lahir : ".$tanggal_lahir."<br />";
$data_lengkap .= "Alamat : ".$alamat."<br />";
}
// kemudian tampilkan semua informasi detil.
?>
<html>
<head>
<title><?php echo "Informasi $nama"; ?></title>
</head>
<body>
<?php echo "Informasi Detil mengenai <strong>$nama</strong> yaitu :
<br />".$data_lengkap; ?>
</body>
</html>
coba kita tes d


