modul php mysql - sidik. · pdf filepada file install.txt cari kalimat “loadmodule...
TRANSCRIPT
PHP & MySql
Untuk Web Dinamis
Oleh : Indra Jatmiko, S. Kom
Digunakan hanya untuk pembelajaran di BiNus Center.
Modul ini diambil dari berbagai sumber. Semua contoh program yang ada pada modul ini telah diuji coba pada setingan PHP, APACHE dan MySql standard. Penggunaan modul ini hanya untuk membantu proses pembelajaran di BiNus Center. Anda bebas menyebarluaskan modul ini, baik untuk tujuan individual maupun komersil, tetapi dengan seizin penulis.
Untuk pertanyaan, kritik dan saran dapat mengirimkan email ke : [email protected] / [email protected]
(c) 2007 Indra Jatmiko
Keterangan : Untuk coding, menggunakan font Courier New. Untuk perintah PHP dan MySql, huruf dicetak KAPITAL.
PHP & MySql Untuk Web Dinamis 1
Versi 1.2 Februari 2007
PHP & MySql Untuk Web Dinamis
PHP
1. Pendahuluan PHP 1.1. Pendahuluan
PHP dahulunya merupakan proyek pribadi dari Rasmus Lerdorf (dengan dikeluarkannya PHP versi 1) yang digunakan untuk membuat home page pribadinya. Versi pertama ini berupa kumpulan script PERL. Untuk versi keduanya, Rasmus menulis ulang script-script PERL tersebut menggunakan bahasa C, kemudian menambahkan fasilitas untuk Form HTML dan koneksi MySql. Adapun PHP didapat dari singkatan Personal Home Pages. Setelah mengalami perkembangan oleh suatu kelompok open source(termasuk Rasmus) maka mulai versi 3, PHP telah menampakkan keunggulannya sebagai salah satu bahasa server scripting yang handal. Melalui perkembangan yang pesat ini banyak fasilitas yang ditambahkan dan oleh kelompok ini PHP disebut sebagai "PHP: Hypertext Preprocessor" . Sintak yang digunakan berasal dari bahasa C , Java maupun Perl. Untuk release terbaru dari PHP dapat anda lihat pada web site http://www.PHP.net. PHP merupakan bahasa script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. Oleh karena itu, spesifikasi server lebih berpengaruh pada eksekusi dari script PHP daripada spesifikasi client. Namun tetap diperhatikan bahwa halaman web yang dihasilkan tentunya harus dapat dibuka olehbrowser pada client. Dalam hal ini versi dari html yang digunakan harus didukung olehbrowser client.
1.2. Spesifikasi
Untuk dapat menjalankan script PHP pada web site kita, ada beberapa hal yang perlu kita tambahkannya. Pertama tentunya kita harus mempunyai sebuah web server yang mengatur atau memberikan tempat untuk mengeksekusi script PHP. Web server ini diinstall pada komputer server kita. Saat ini PHP dapat dijalankan pada berbagai macam web server seperti pws, iis, xitami maupun apache. Kemudian hal kedua yang perlu kita miliki adalah PHP parser. Apa itu PHP parser? PHP parser adalah program yang digunakan untuk menterjemahkan (interpreter) code script dan kemudian mengeksekusinya. PHP parser dapat berupa program yang dijalankan pada suatu shell/DOS prompt yang biasanya berupa program yang telah terkompilasi yaitu PHP.exe. Selain itu PHP parser bisa juga berupa modul-modul yang diload oleh web server.
1.3. Penginstalan Apache 2.0.55
Langkah untuk menginstall apache adalah : 1. Pastikan server IIS di komputer anda sudah di-stop 2. Klik 2x pada file Apache 2.0.55.exe 3. Maka akan muncul installation wizard, Klik Next > 4. Pilih “ I accept … “, klik Next > 5. Klik Next > 6. Masukkan : Network Domain : nama_anda.com
PHP & MySql Untuk Web Dinamis 2
Versi 1.2 Februari 2007
Server Name : www.nama_anda.com Admin email : nama_anda@nama_anda.com
Pilih “For all user … “, Klik Next > 7. Pilih Typical, Klik Next > 8. Tentukan Destination folder, biarkan di direktori defaultnya, klik Next > 9. Klik Install, untuk memulai proses intalasi. 10. Tunggu proses sampai selesai, Klik Finish. 11. Jalankan Internet Explorer, lalu ketikkan di address bar : localhost 12. Jika ada halaman awal dari apache, maka instalasi apache sudah berhasil.
1.4. Penginstalan PHP 5.0.2 Untuk mempermudah sebaiknya kita menginstall PHP di direktori Apache Group. Langkahnya adalah :
1. Ekstrak file php-5.0.2-Win32.zip ke direktori “C:\Program Files\Apache Group\php”.
2. Buka file install.txt yang ada pada direktori php. 3. Klik Start > All Programs > Apache HTTP Server 2.0.55 > Configure Apache
Server > Edit the Apache httpd.conf Configuration File. 4. Pada file install.txt cari kalimat “LoadModule php5_module“, lalu copy ketiga
baris dibawah ini : # For PHP 5 do something like this: LoadModule php5_module "c:/php/php5apache2.dll" AddType application/x-httpd-php .php
5. Pada file httpd.conf, letakkan kursor pada akhir file, paste ketiga baris perintah diatas. Ubah lokasi php5apache2.dll ke direktori penginstalan php :
# For PHP 5 do something like this: LoadModule php5_module "C:/Program Files/Apache Group/php/php5apache2.dll" AddType application/x-httpd-php .php
6. Simpan file httpd.conf, klik kiri > Apache2 > Stop. Tunggu sampai lampu indikator menjadi merah.
7. Ganti nama file php.ini-dist menjadi php.ini, copy file libmysql.dll, php5ts.dll, php.ini ke direktori “C:\WINDOWS”.
8. klik kiri > Apache2 > Start. Tunggu sampai lampu indicator menjadi hijau.
9. Jika tidak ada pesan error, maka instalasi Apache dan Php berhasil. Untuk mencobanya buat file index.php dengan isi :
<? Phpinfo(); ?>
10. Simpan file index.php di direktori “C:\Program Files\Apache Group\Apache2\htdocs\nama_anda” Jalankan file index.php pada internet explorer, ketikkan pada address bar : localhost/nama_anda/index.php.
11. Jika pada IE muncul penjelasan mengenai PHP, maka proses intalasi Apache dengan PHP telah berhasil.
1.5. Penginstalan MySql 5.0.0 Untuk mempermudah sebaiknya kita menginstall MySql di direktori Apache Group. Langkahnya adalah :
1. Ekstrak file mysql-5.0.0a-alpha-win.zip ke sembarang folder, lalu jalankan file SETUP.exe, ikuti langkah-langkahnya.
2. Klik Next >, Next >
PHP & MySql Untuk Web Dinamis 3
Versi 1.2 Februari 2007
3. Ganti destination folder menjadi “c:\program files\apache group\mysql”. Klik Next >
4. Pilih typical, klik Next > 5. Tunggu sampai proses instalasi selesai, klik Finish. 6. Buka folder “c:\program files\apache group\mysql\bin”, lalu jalankan file
winmysqladmin.exe 7. Masukkan User : root dan password : root
8. Maka akan muncul icon , jika indicator lampu berwarna hijau maka instalasi MySql berhasil dan jika menunjukkan warna merah, maka proses instalasi gagal.
9. Agar PHP dapat mengenal MySql, maka kita harus mengatur php.ini agar dapat me-load php_mysql.dll, caranya adalah :
10. Klik Start > Run, ketik “php.ini” lalu OK. 11. Cari kata “extension_dir”, lalu ganti nilainya menjadi : extension_dir = “C:/folder_instalasi_php/ext”, contoh : extension_dir = “C:/Program Files/Apache Group/php/ext” 12. Cari kata “php_mysql.dll”, lalu hapus tanda #, #extension=php_mysql.dll, ganti menjadi : extension=php_mysql.dll 13. Restart Apache, jika tidak ada peringatan error, maka MySql sudah dikenal
oleh PHP. 14. Ekstrak file phpmyadmin.zip ke direktori htdocs, lalu jalankan IE, ketik pada
addressbar : localhost/phpmyadmin. 15. Jika tampilan phpmyadmin sudah muncul maka, koneksi MySql, PHP dan
Apache sudah siap.
1.6. Tag PHP PHP juga termasuk dalam HTML-embedded, artinya kode PHP dapat kita sisipkan pada sebuah halaman HTML. Untuk mengetahui bahwa baris-baris HTML merupakan suatu script PHP maka digunakan pasangan tag. Tag yang dapat digunakan untuk menyatakan script PHP adalah
<?PHP … ?> <? … ?>
Tag kedua merupakan tag yang paling aman karena memberikan tanda yang lebih jelas dan pada umumnya dimengerti oleh web server. Contoh PHP yang merupakan HTML-embedded.
File Test.PHP <html> <head> <title>Example</title> </head> <body> <? ECHO "Hi, I'm a PHP script!"; ?> </body> </html>
PHP & MySql Untuk Web Dinamis 4
Versi 1.2 Februari 2007
Letakkan file ini pada homepages anda kemudian jalankan web server. Buka alamat http://nama_host/test.PHP. Jika PHP terinstall dengan benar maka browser akan menampilkan kalimat "Hi, I’m a PHP script!".
1.7. Statement
Sebuah statemen merupakan sebuah perintah yang diakhiri dengan tanda titik koma (;) . Tanda tag penutup script PHP juga dapat sebagai penutup atau menyatakan akhir dari suatu statemen PHP. Contoh :
<? ECHO "test"; //statemen ini diakhiri dengan titik koma ?>
Catatan PHP merupakan bahasa campuran case-sensitive dan case-insensitive, yaitu membedakan antara huruf besar dan huruf kecil. Case-sensitive berlaku untuk semua penulisan nama variable. Sedangkan penulisan sintak program dan nama fungsi bersifat case-insensitive. Penulisan variabel $bilangan dengan $BILANGAN menghasilkan dua variable yang berbeda. Sedangkan penulisan fungsi ECHO yang ditulis dengan huruf kecil semua atau gabungan huruf kecil-huruf besar akan menunjukkan nama fungsi yang sama.
1.8. Komentar
Komentar merupakan bagian program yang tidak akan dieksekusi. Fungsi dari komentar ini adalah sebagai dokumentasi program atau berupa penjelasan dari program. PHP memberikan banyak pilihan untuk menuliskan komentar. Cara berikut dapat anda gunakan, yaitu : <? /*
ECHO "Kalimat ini tidak akan dicetak"; */ ?> <?
ECHO "Kalimat ini akan dicetak"; //ini hanya merupakan komentar ?> Penjelasan : Jika tanda /* … */ digunakan maka semua kode di dalam pasangan tanda ini akan diabaikan. Untuk tanda // maka code setelah tanda ini pada baris yang sama dengan tanda ini akan diabaikan.
2. Variabel Variabel digunakan untuk menyimpan data sementara, dan nilainya bisa berubah-ubah setiap kali program dijalankan. Dalam PHP, setiap variabel selalu dimulai dengan tanda “$” dan diikuti dengan nama variabelnya. Tidak memandang data tersebut apakah integer, real, maupun string, PHP akan secara otomatis mengkonversi data menurut tipenya. Dalam PHP variabel tidak harus dideklarasikan terlebih dahulu. Syarat penamaan variabel:
• Diawali dengan $ • Bersifat case-sensitive • Penamaan diawali dengan huruf atau garis bawah ‘_’
Contoh : $harga = 1500; $_jumlah = 20;
PHP & MySql Untuk Web Dinamis 5
Versi 1.2 Februari 2007
3. Operator
3.1. Aritmatika Operator yang digunakan untuk melakukan operasi matematika.
Operator Operasi Contoh
* Perkalian $a*$b / Pembagian $a/$b % Modulus $a%$b + Penambahan $a+$b - Pengurangan $a-$b
3.2. Increment/Decrement
Pre/Post increment dan decrement masing-masing adalah penambahan dan pengurangan satu. Jika diletakkan sebelum variabel, maka akan ditambahkan/dikurangkan dengan 1 sebelum keseluruhan operasi dalam ekspresi dikerjakan. Dan sebaliknya akan ditambahkan/dikurangkan dengan 1 setelah operasi dalam ekspresi dikerjakan.
Operator Operasi Contoh
++ Pre/Post Increment ++$a atau $b++ -- Pre/Post Decrement $a-- atau $b--
3.3. String
Hanya ada satu operator string, yaitu operator concatenation ‘.’ Contoh : <? $a = “hai”; $b = “ apa kabar?” $c = $a . $b; // $c berisikan “hai apa kabar” <?
3.4. Perbandingan Operator perbandingan digunakan untuk membandingkan suatu nilai variabel dengan variabel lain.
Contoh Keterangan Hasil $a > $b Lebih dari True jika $a lebih besar dari $b $a < $b Kurang dari True jika $a kurang dari $b
$a >= $b Lebih dari atau sama dengan
True jika $a lebih besar dari $b atau $a sama dengan $b
$a <= $b Kurang dari atau sama dengan
True jika $a kurang dari $b atau $a sama dengan $b
$a == $b Sama dengan True jika $a sama dengan $b $a != $b Tidak sama dengan True jika $a tidak sama dengan $b
PHP & MySql Untuk Web Dinamis 6
Versi 1.2 Februari 2007
3.5. Logika Operator logika digunakan untuk memberikan operasi logika terhadap variabel.
Contoh Nama Hasil
$a AND $b $a && $b
And True jika $a dan $b adalah benar
$a OR $b $a || $b
Or True jika salah satu $a atau $b adalah benar
$a XOR $b Xor True jika salah satu $a atau $b adalah
benar dan tidak keduanya !$a Not True jika $a tidak benar
4. Struktur kendali Digunakan untuk mengontrol jalannya eksekusi program.
4.1. IF Pernyataan IF dikenal juga sebagai penyataan percabangan, digunakan untuk menentukan salah satu dari pilihan alur eksekusi yang tersedia menurut kondisi tertentu. Bentuk umum :
4.2. IF … Else …
4.3. SWITCH Switch digunakan apabila ada satu ekspresi yang memiliki banyak kemungkinan nilai, dimana masing-masing nilai ada perintah yang harus dikerjakan.
Bentuk Umum : IF (kondisi) { statement; ... }
contoh : $Jk = “L”; if ($Jk == “L”) { $ket = “Laki-laki”; }
Bentuk umum : IF (kondisi) { statementTrue; ... } ELSE { statementFalse; ... }
Contoh : $Jk = “L”; IF ($Jk == “L”) { $ket = “Laki-laki”; } ELSE { $ket = “Perempuan”; }
Bentuk Umum : SWITCH (kondisi) { CASE syarat1: Statement1; BREAK; CASE syarat1: Statement1; BREAK; DEFAULT: Statement default; }
Contoh : $nilai = “A”; SWITCH ($nilai) { CASE “A”: $ket = “Sempurna”; BREAK; CASE “B”: $ket = “Bagus”; BREAK; DEFAULT: $ket = “Tidak Lulus”; }
PHP & MySql Untuk Web Dinamis 7
Versi 1.2 Februari 2007
4.4. FOR Digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui.
4.5. WHILE Digunakan untuk mengulangi sebuah perintah sampai jumlah tertentu. Untuk menghentikan pengulangan digunakan suatu kondisi tertentu.
4.6. DO … WHILE Perintah ini sama dengan perintah WHILE. Perbedaannya adalah kondisi diperiksa diakhir perulangan. Ini berarti bahwa paling sedikit sebuah perulangan akan dilakukan oleh perintah DO.
5. Fungsi
Fungsi adalah sekumpulan baris perintah yang digunakan untuk melakukan suatu perintah. Dalam penulisan program, kita bisa menuliskan perintah yang berulang-ulang,
Bentuk Umum : FOR (nilaiAwal; nilaiAkhir; penambahan/pengurangan) { Statement; ... }
Contoh : FOR ($a = 1; $a <= 5; $a++) { Echo “For ke-$a<BR>”; }
Bentuk Umum : WHILE (kondisi) { Statement; ... }
Contoh : $a = 1; WHILE ($a<=5) { Echo “While ke-$a<BR>”; $a++; }
Bentuk Umum : Do { Statement; } WHILE (kondisi)
Contoh : $a = 1; Do { ECHO “Do While ke-$a<BR>”; $a++; } WHILE ($a <=5)
PHP & MySql Untuk Web Dinamis 8
Versi 1.2 Februari 2007
untuk mengurangi berulangnya suatu perintah dan supaya lebih efisien dalam penulisan kode, kita bisa menggunakan fungsi.
6. Modularisasi Modularisasi adalah penyusunan/pembuatan program berdasarkan modul-modul. Dengan modularisasi ini diharapkan programmer dapat dengan mudah dan cepat untuk melakukan pengembangan aplikasi yang disusunnya. Modul dapat berupa fungsi atau prosedur. Adapun jenis modularisasi dalam PHP antara lain : Require() Digunakan untuk menggabungkan suatu skrip PHP atau teks dari file lain dengan skrip PHP yang memanggilnya. Include() Hampir sama dengan require() tapi bedanya adalah include digunakan untuk menggabungkan suatu skrip pemanggilnya. Require_once() Pada dasarnya sama dengan require, tapi perbedaanya adalah apabila terjadi duplikasi fungsi atau duplikasi pemanggilan maka akan terhindar. Karena secara default require_once akan memaksa PHP untuk menggunakan nama fungsi yang telah ada. Include_once() Hampir sama dengan require_once() tetapi perbedaannya adalah setiap kali dijalankan selalu ada evaluasi ulang.
Bentuk Umum : FUNCTION namaFungsi (argumen) { Statement; ... }
Contoh : FUNCTION BIU ($kalimat) { $hasil = “<B><I><U>$kalimat</U></I></B>”; return($hasil); } echo BIU(“Akan mencetak huruf Bold, Italic dan Underline”);
PHP & MySql Untuk Web Dinamis 9
Versi 1.2 Februari 2007
MySql
1. Pendahuluan MySql
MySql dikembangkan oleh sebuah perusahaan Swedia bernama MySql AB, yang pada saat itu bernama TcX DataKonsult AB. Sejak sekitar tahun 1994-1995, meski cikal kodenya bisa disebut sudah ada sejak tahun 1979. Pada saat itu Michael Widenius atau “Monty” sebagai pengembang satu-satunya di TcX. MySql termasuk jenis RDBMS (Relational Database Management System). Sehingga istilah seperti tabel, baris dan kolom tetap digunakan dalam MySql. Pada MySql sebuah database mengandung satu atau beberapa tabel, tabel terdiri dari sejumlah baris dan kolom.
2. Tipe data MySql 2.1. Numerik
Tipe data numeric dibedakan dalam dua macam kelompok, yaitu tipe data integer untuk data bilangan bulat dan tipe data floating point untuk bilangan decimal. Tipe data numeric selengkapnya pada tebel dibawah ini:
Tipe Data Kisaran Nilai TINYINT (-128) − 127 atau 0 − 255 SMALLINT (-32768) − 32767 atau 0 − 65535 MEDIUMINT (-3888608) − 3888607 atau 0 − 16777215 INT (-2147683648) − 2147683647 atau 0 − 4294967295 BIGINT (-922337203685775808) − 922337203685775807 atau 0 −
184467440737099551615 FLOAT (-3.402823466E+38) − (-1.1775494351E-38), 0 dan
1.1759431E-38 − 3.4028223466E+38 DOUBLE (-1.7976931348623157E+308) − (-2.2250738585072014E-
308), 0 dan 2.2250738585072014E-308 − 1.7976931348623157E-308)
2.2. String
Tipe Data Kisaran Nilai CHAR 1 − 255 karakter VARCHAR 1 − 255 karakter TINYBLOB, TINYTEXT 1 − 255 karakter BLOB, TEXT 1 − 65535 karakter MEDIUMBLOB, LONGTEXT 1 − 16777215 karakter LONGBLOB, LONGTEXT 1 − 4294967295 karakter ENUM(‘elemen1’,’elemen2’,…) Maksimum 65535 karakter SET(‘elemen1’,’elemen2’,…) Maksimum 64 elemen
PHP & MySql Untuk Web Dinamis 10
Versi 1.2 Februari 2007
2.3. Tanggal
Tipe Data Kisaran Nilai DATETIME 1000-01-01 00:00:00 − 9999-12-31
23:59:59 DATE 1000-01-01 − 9999-12-31 TIMESTAMP 1970-01-01 00:00:00 − 2037 TIME -838:59:59:59 − 838:59:59:59 YEAR 1901 − 2155
3. Perintah Dasar MySql 3.1. Create Database
Perintah ini digunakan untuk membuat database baru pada MySql.
3.2. Create Table Perintah ini digunakan untuk membuat table pada suatu database.
3.3. Drop Table Perintah ini digunakan untuk menghapus suatu tabel pada suatu database.
4. DML (Data Manipulation Language)
Adalah suatu bahasa yang digunakan untuk memanipulasi data seperti menambah, menghapus, menampilkan, mengubah suatu data pada suatu table dalam database. Perintahnya adalah :
Bentuk Umum : CREATE DATABASE namaDatabase;
contoh : CREATE DATABASE pegawai;
Bentuk Umum : CREATE TABLE dataPegawai( Field1 properties, field2 properties,...)
contoh : CREATE TABLE dataPegawai ( nip varchar(11) not null primary key, namaPeg varchar(30), alamat varchar(50))
Bentuk Umum : DROP TABLE namaTabel;
contoh : DROP TABLE dataPegawai;
PHP & MySql Untuk Web Dinamis 11
Versi 1.2 Februari 2007
4.1. Insert
Perintah ini digunakan untuk memasukkan data.
4.2. Select Perintah ini digunakan untuk melihat data dari satu atau beberapa tabel.
4.3. Update
Perintah ini digunakan untuk memperbaiki atau mengubah data yang sudah ada.
4.4. Delete Perintah ini digunakan untuk menghapus data.
5. Fungsi-fungsi MySql
Berikut adalah fungsi-fungsi MySql yang digunakan untuk koneksi, DML MySql dengan PHP.
Bentuk Umum : INSERT INTO namaTabel (field1, field2, ...) VALUES (data1, data2, ...);
contoh : INSERT INTO dataPegawai (nip, namaPeg, alamat)VALUES(‘0211500173’, ‘indra’, ‘bintaro’);
Bentuk Umum : SELECT field1, field2, ... FROM namaTabel WHERE [kondisi] ORDER BY [field] [ASC | DESC] LIMIT [batasan]
contoh : SELECT nip, namaPeg, alamat FROM dataPegawai WHERE alamat=’jakarta’ ORDER BY nama ASC LIMIT 10;
Bentuk Umum : UPDATE namaTabel SET field1=dataBaru1, field2=dataBaru2, ... WHERE [kondisi];
contoh : UPDATE dataPegawai SET alamat=’jakarta selatan’ WHERE nip=’0211500173’;
Bentuk Umum : DELETE FROM namaTabel WHERE [kondisi];
contoh : DELETE FROM dataPegawai WHERE nip=’0211500173’;
PHP & MySql Untuk Web Dinamis 12
Versi 1.2 Februari 2007
5.1. MySql_connect
Digunakan untuk melakukan koneksi ke server database MySql. Koneksi ke database akan secara otomatis terputus pada saat script program selesai dieksekusi seluruhnya, kecuali diberikan perintah fungsi MySql_close().
5.2. MySql_select_db() Digunakan untuk memilih atau mengaktifkan database.
5.3. MySql_query() Digunakan untuk menjalankan perintah query yang terdapat di MySql, misalnya perintah insert, update, delete dll.
PHP tidak menyediakan fungsi-fungsi khusus untuk operasi data, sehingga sintak yang dipakai adalah sintaks perintah-perintah MySql. Untuk melakukan operasi-operasi data menggunakan PHP urutannya adalah sebagai berikut :
1. Koneksi ke database 2. Deklarasi sebuah variabel string yang berisi sintaks perintah MySql yang akan
dilakukan. 3. Laksanakan sintaks MySql menggunakan fungsi menghasilkan output yang
akan ditampilkan, deklarasi sebuah variabel untuk menampung hasil tersebut. 4. Mengambil hasil dari sintaks MySql yang dilaksanakan menggunakan fungsi-
fungsi MySql_fetch_array(), MySql_fetch_row() dan MySql_num_rows().
5.4. MySql_fetch_row() Digunakan untuk menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil.
Bentuk Umum : MYSQL CONNECT (namaHost, namaUser, password);
contoh : MYSQL CONNECT (‘localhost’, ‘root’, ‘rahasia’);
Bentuk Umum : MYSQL SELECT DB (namaDatabase);
contoh : MYSQL SELECT DB (pegawai);
Bentuk Umum : MYSQL_QUERY (perintah mysql);
contoh : MYSQL_QUERY (“SELECT * FROM dataPegawai”);
Bentuk Umum : MYSQL_FETCH_ROW (pengenalHasil);
PHP & MySql Untuk Web Dinamis 13
Versi 1.2 Februari 2007
5.5. MySql_num_rows () Digunakan untuk menghasilkan jumlah baris pada suatu tabel. 6. Mengelola MySql dengan PHPMyAdmin
PHPMyAdmin merupakan salah satu tool management database MySql berbasis web, artinya interaksi pemeliharaan dilakukan oleh client dengan menggunakan antarmuka browser. Dengan PHPMyAdmin kita dapat melakukan : 1. Create dan drop database 2. Create, copy, drop dan alter tabel 3. Insert, update, delete dan select field 4. Mengeksekusi pernyataan sql 5. Mananage keys pada field 6. dll
contoh : $query = mysql_query("SELECT * FROM dataPegawai WHERE nip='’0211500173’; MYSQL_FETCH_ROW ($query); $result = mysql_fetch_row($query); $nip = $result[0]; //mengambil data pada field pertama
Bentuk Umum : MYSQL_NUM_ROWS (pengenalHasil);
contoh : $query = mysql_query("SELECT * FROM dataPegawai"); $numrows = mysql_num_rows($query); Echo $numrows; // menghasilkan jumlah baris/record
PHP & MySql Untuk Web Dinamis 14
Versi 1.2 Februari 2007
7. Membuat Aplikasi Web
Sebelum kita memulai membuat aplikasi web dinamis, sebelumnya kita harus membuat satu database yang bernama binus, fungsi yang digunakan untuk menghubungkan MySql dengan PHP. Berikut adalah fungsi tersebut.
FUNCTION.php 1. <?php 2. $db_hostname = "localhost"; 3. $db_username = "root"; 4. $db_password = ""; 5. $db_name = "binus"; 6. //menghubungkan ke database 7. FUNCTION connect_db(){ 1. global $db_hostname, $db_username, $db_password, $db_name; 8. MYSQL_CONNECT($db_hostname,$db_username,$db_password); 1. MYSQL_SELECT_DB($db_name); 9. } 10. //Cek apakah user sudah login apa belum, jika belum maka akan
dibawa ke halaman login.html untuk login 11. 12. FUNCTION cekSession() { 13. SESSION_START(); 14. IF(!SESSION_IS_REGISTERED(reg_userName)) { 15. ECHO "Anda Belum Login !. Silakan klik <A
href='login.html'>disini</A> untuk login"; 16. EXIT(); 17. } 18. } 19. ?>
PHP & MySql Untuk Web Dinamis 15
Versi 1.2 Februari 2007
7.1. Authentifikasi Login Digunakan untuk membatasi hak akses seorang user terhadap halaman web yang akan dilihat. Sebelumnya kita buat satu tabel yang bernama user. Berikut adalah struktur tabel user.
Nama field Properties
Id Int(2), primary key, auto_increment User Varchar(25) Password Varchar(255) Nama Varchar(50) Email Varchar(50) Alamat Varchar(255)
Login.php 1. <? 2. INCLUDE "function.php"; 3. 4. $aksi = $_POST['aksi']; 5. 6. if ( $aksi == "login" ) { 7. $userName = $_POST['user']; 8. $password = MD5($_POST['password']); 9. connect_db(); 10. $query = MYSQL_QUERY("SELECT * FROM user WHERE
user='$userName' AND password='$password'"); 11. $result = MYSQL_FETCH_ROW($query); 12. if (!empty($result)) { 13. SESSION_START(); 14. session_register("reg_userName"); 15. $reg_userName = $result[1]; 16. HEADER("location:login_ok.php"); 17. } 18. ELSE { 19. ECHO "Login GAGAL! Periksa Username dan Password
Anda<BR>Klik <A href='login.html'>disini</A> untuk login kembali";
20. } 21. } 22. ?>
PHP & MySql Untuk Web Dinamis 16
Versi 1.2 Februari 2007
7.2. Counter Digunakan untuk menghitung berapa banyak pengunjung yang telah mengunjungi situs kita. Counter ini membutuhkan satu tabel yang bernama counter. Berikut struktur tabel counter :
Nama Field Peoperties Hitung Int(6)
7.3. Guest Book Digunakan agar pengunjung yang telah mengunjungi situs kita dapat memberikan komentarnya tentang website kita. Guest book membutuhkan satu tabel yang bernama guestbook. Berikut struktur tabel guestbook :
Nama Field Peoperties Id Int(6), primary key, auto_increment Date datetime Nama Varchar(25) Alamat Varchar(50) Email Varchar(50) url Varchar(50) Komentar text
Counter.php 2. <? 3. INCLUDE "function.php"; 4. connect_db(); 5. $search = MYSQL_QUERY("SELECT hitung FROM counter"); 6. IF (MYSQL_NUM_ROWS($search)==0){ 7. $insert = MYSQL_QUERY("INSERT INTO counter VALUES(1)"); 8. } 9. ELSE { 10. $query = MYSQL_QUERY("UPDATE counter SET hitung=hitung+1"); 11. } 12. ?>
Login_ok.php 1. <? 2. INCLUDE "function.php"; 3. 4. SESSION_START(); //cek apakah sudah login ?? 5. cekSession(); 6. $reg_userName = $_SESSION["reg_userName"]; 7. ECHO "Selamat Datang <B>$reg_userName</B>"; 8. ECHO "<BR>Klik <A href='logout.php'>disini</A> untuk Logout"; 9. ?>
Logout.php 1. <? 2. SESSION_START(); 3. SESSION_DESTROY(); 4. HEADER("location:login.html"); 5. ?>
PHP & MySql Untuk Web Dinamis 17
Versi 1.2 Februari 2007
guest_book.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $aksi = $_POST['aksi']; 4. $date = DATE("Y-m-d H:m:s"); 5. $nama = $_POST['nama']; 6. $alamat = $_POST['alamat']; 7. $email = $_POST['email']; 8. $url = $_POST['url']; 9. $komentar = $_POST['komentar']; 10. 11. IF ($aksi == "simpan") { 12. CONNECT_DB(); 13. $query = MYSQL_QUERY("INSERT INTO guestbook
VALUES('','$date','$nama','$alamat','$email','$url','$komentar')");
14. ECHO "Data berhasil Disimpan."; 15. } 16. ELSE { 17. ECHo "Data Gagal Disimpan"; 18. } 19. ?>
PHP & MySql Untuk Web Dinamis 18
Versi 1.2 Februari 2007
View_guestbook.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $offset = $_GET['offset']; 4. connect_db(); 5. 6. $query = MYSQL_QUERY("SELECT * FROM guest ORDER BY date"); 7. $numrows = MYSQL_NUM_ROWS($query); 8. IF ($numrows != 0) { 9. $limit = 10; 10. 11. IF(EMPTY($offset)) { 12. $offset = 0; 13. } 14. 15. ECHO "<div align=center>"; 16. IF($offset != 0) { 17. $prevoffset = $offset - 10; 18. ECHO " <a
href=$PHP_SELF?offset=$prevoffset>Prev</a> "; 19. } 20. 21. $halaman = intval($numrows / $limit); 22. 23. if($numrows % $limit) { 24. $halaman++; 25. } 26. 27. FOR($i = 1;$i <= $halaman;$i++) { 28. $newoffset = $limit * ($i - 1); 29. IF($offset != $newoffset) { 30. ECHO " <a
href=$PHP_SELF?offset=$newoffset>$i</a> "; 31. } 32. ELSE { 33. ECHO "<B> $i </B>"; 34. } 35. } 36. 37. IF(!(($offset / $limit) + 1 == $halaman) &&
$halaman != 1){ 38. $newoffset = $offset + $limit; 39. ECHO "<a
href=$PHP_SELF?offset=$newoffset>Next</a> "; 40. } 41. ECHO "</div>"; 42. 43. ?> 44. <TABLE border="0" cellpadding="2" > 45. <TR> 46. <TD> </TD> 47. </TR> 48. <?
PHP & MySql Untuk Web Dinamis 19
Versi 1.2 Februari 2007
7.4. Artikel Untuk membuat halaman web artikel, kita membutuhkan satu tabel yaitu tabel artikel. Struktur tabelnya adalah sebagai berikut :
Nama Field Peoperties Id Int(3), primary key, auto_increment Date datetime Nama Varchar(25) Judul Varchar(100) Gambar Varchar(100) Isi text
49. $query = mysql_query("SELECT * FROM guest ORDER BY date limit $offset, $limit");
50. $no = $offset + 1; 51. WHILE ($baris = MYSQL_FETCH_ROW($query)) { 52. ECHO "<TR> 53. <TD colspan=2><B>Guest Book ke-
$no</B></TD> 54. </TR> 55. <TR bgcolor=white> 56. <TD vAlign=top>Tanggal </TD> 57. <TD>: $baris[1]</TD> 58. </TR> 59. <TR bgcolor=white> 60. <TD vAlign=top>Dari </TD> 61. <TD>: $baris[2]</TD> 62. </TR> 63. <TR bgcolor=white> 64. <TD vAlign=top>Isi </TD> 65. <TD align=justify><TEXTAREA cols=40
rows=5>$baris[3]</TEXTAREA></TD> 66. </TR> 67. <TR> 68. <TD colspan=2><HR></TD> 69. </TR> 70. "; 71. $no++; 72. } 73. ECHO "</TABLE>"; 74. } 75. ELSE 76. ECHO "Maaf, Tidak ada Guest Book.<BR>"; 77. ?>
PHP & MySql Untuk Web Dinamis 20
Versi 1.2 Februari 2007
artikel.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $aksi = $_POST['aksi']; 4. $date = date("Y-m-d H:m:s"); 5. $user = $_POST['user']; 6. $judul = $_POST['judul']; 7. $gbrSize = $_FILES['gambar']['size']; 8. $gbrTemp = $_FILES['gambar']['tmp_name']; 9. $gbrLoc = "gambar/" . $_FILES['gambar']['name']; 10. $isi = $_POST['isi']; 11. ECHO $gambar; 12. IF ($aksi == "simpan") { 13. IF (!EMPTY($gbrSize)){ 14. $result =
MOVE_UPLOADED_FILE($gbrTemp,$gbrLoc); 15. IF ($result) { 16. connect_db(); 17. $query = MYSQL_QUERY("INSERT INTO
article VALUES('','$date','$user','$judul','$gbrLoc','$isi')"); 18. ECHO "Data berhasil Disimpan."; 19. } 20. ELSE { 21. ECHO "Data Gagal Disimpan"; 22. } 23. } 24. ELSE { 25. ECHO "Anda belum memasukkan gambar."; 26. } 27. } 28. ?>
PHP & MySql Untuk Web Dinamis 21
Versi 1.2 Februari 2007
View_artikel.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $offset = $_GET['offset']; 4. connect_db(); 5. 6. $query = MYSQL_QUERY("SELECT * FROM article ORDER BY
date"); 7. $numrows = MYSQL_NUM_ROWS($query); 8. if ($numrows != 0) { 9. $limit = 10; 10. 11. if(EMPTY($offset)) { 12. $offset = 0; 13. } 14. 15. ECHO "<div align=center>"; 16. IF($offset != 0) { 17. $prevoffset = $offset - 10; 18. ECHO " <a
href=$PHP_SELF?offset=$prevoffset>Prev</a> "; 19. } 20. 21. $halaman = intval($numrows / $limit); 22. 23. IF($numrows % $limit) { 24. $halaman++; 25. } 26. 27. FOR($i = 1;$i <= $halaman;$i++) { 28. $newoffset = $limit * ($i - 1); 29. IF($offset != $newoffset) { 30. ECHO " <a
href=$PHP_SELF?offset=$newoffset>$i</a> "; 31. } 32. ELSE { 33. ECHO "<B> $i </B>"; 34. } 35. } 36. 37. IF(!(($offset / $limit) + 1 == $halaman) &&
$halaman != 1){ 38. $newoffset = $offset + $limit; 39. ECHO "<a
href=$PHP_SELF?offset=$newoffset>Next</a> "; 40. } 41. ECHO "</div>"; 42. 43. ?> 44. <TABLE border="0" cellpadding="2" > 45. <TR> 46. <TD> </TD> 47. </TR> 48. <? 49.
PHP & MySql Untuk Web Dinamis 22
Versi 1.2 Februari 2007
50. $query = MYSQL_QUERY("SELECT * FROM article ORDER BY date limit $offset, $limit");
51. $no = $offset + 1; 52. WHILE ($baris = MYSQL_FETCH_ROW($query)) { 53. ECHO "<TR> 54. <TD colspan=2><B>Artikel ke-$no</B></TD> 55. </TR> 56. <TR> 57. <TD vAlign=top>Tanggal </TD> 58. <TD>: $baris[1]</TD> 59. </TR> 60. <TR> 61. <TD vAlign=top>Dari </TD> 62. <TD>: $baris[2]</TD> 63. </TR> 64. <TR> 65. <TD vAlign=top>Judul </TD> 66. <TD>: $baris[3]</TD> 67. </TR> 68. <TR> 69. <TD vAlign=top> </TD> 70. <TD><IMG src='$baris[4]'></TD> 71. </TR> 72. <TR> 73. <TD vAlign=top>Isi </TD> 74. <TD align=justify><TEXTAREA cols=40
rows=5>$baris[5]</TEXTAREA></TD> 75. </TR> 76. <TR> 77. <TD colspan=2><HR></TD> 78. </TR> 79. "; 80. $no++; 81. } 82. ECHO "</TABLE>"; 83. } 84. ELSE 85. ECHO "Maaf, Tidak ada artikel"; 86. ?>
PHP & MySql Untuk Web Dinamis 23
Versi 1.2 Februari 2007
History : September 2006 : Versi 1.0
• Awal modul ini dibuat Februari 2007 : Versi 1.1
• Penambahan cara penginstalan Apache 2.0, PHP 5.0 dan MySql 5.0.
Februari 2007 : Versi 1.2 • Perbaikan dan penambahan listing program.