Anda di halaman 1dari 24

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 : indrajatmiko@yahoo.com / indrajatmiko@gmail.com (c) 2007 Indra Jatmiko

Keterangan : Untuk coding, menggunakan font Courier New. Untuk perintah PHP dan MySql, huruf dicetak KAPITAL.

PHP & MySql Untuk Web Dinamis 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. 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

1.3.

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

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 > Apache2 > Stop. Tunggu sampai lampu 6. Simpan file httpd.conf, klik kiri 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. > Apache2 > Start. Tunggu sampai lampu indicator menjadi 8. klik kiri 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 >

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

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 , jika indicator lampu berwarna hijau maka 8. Maka akan muncul icon 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>

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

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, Im 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;

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

3. Operator 3.1. Aritmatika Operator yang digunakan untuk melakukan operasi matematika. Operator * / % + 3.2. Operasi Perkalian Pembagian Modulus Penambahan Pengurangan Contoh $a*$b $a/$b $a%$b $a+$b $a-$b

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 Pre/Post Increment Pre/Post Decrement Contoh ++$a atau $b++ $a-- atau $b--

3.3.

String Hanya ada Contoh <? $a = $b = $c = <?

satu operator string, yaitu operator concatenation . : hai; apa kabar? $a . $b; // $c berisikan hai apa kabar

3.4.

Perbandingan Operator perbandingan digunakan untuk membandingkan suatu nilai variabel dengan variabel lain. Contoh $a > $b $a < $b Keterangan Lebih dari Kurang dari Lebih dari atau sama dengan Kurang dari atau sama dengan Sama dengan Tidak sama dengan Hasil True jika $a lebih besar dari $b True jika $a kurang dari $b True jika $a lebih besar dari $b atau $a sama dengan $b True jika $a kurang dari $b atau $a sama dengan $b True jika $a sama dengan $b True jika $a tidak sama dengan $b

$a >= $b $a <= $b $a == $b $a != $b

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis 3.5. Logika Operator logika digunakan untuk memberikan operasi logika terhadap variabel. Contoh $a AND $b $a && $b $a OR $b $a || $b $a XOR $b !$a Nama And Or Xor Not Hasil True jika $a dan $b adalah benar True jika salah satu $a atau $b adalah benar True jika salah satu $a atau $b adalah benar dan tidak keduanya 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 :
Bentuk Umum : IF (kondisi) { statement; ... } contoh : $Jk = L; if ($Jk == L) { $ket = Laki-laki; }

4.2.

IF Else
Bentuk umum : IF (kondisi) { statementTrue; ... } ELSE { statementFalse; ... } Contoh : $Jk = L; IF ($Jk == L) { $ket = Laki-laki; } ELSE { $ket = Perempuan; }

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 : 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; }

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis 4.4.

FOR Digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui.
Bentuk Umum : FOR (nilaiAwal; nilaiAkhir; penambahan/pengurangan) { Statement; ... }

Contoh : FOR ($a = 1; $a <= 5; $a++) { Echo For ke-$a<BR>; }

4.5.

WHILE Digunakan untuk mengulangi sebuah perintah sampai jumlah tertentu. Untuk menghentikan pengulangan digunakan suatu kondisi tertentu.
Bentuk Umum : WHILE (kondisi) { Statement; ... }

Contoh : $a = 1; WHILE ($a<=5) { Echo While ke-$a<BR>; $a++; }

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.
Bentuk Umum : Do { Statement; } WHILE (kondisi) Contoh : $a = 1; Do { ECHO Do While ke-$a<BR>; $a++; } WHILE ($a <=5)

5. Fungsi Fungsi adalah sekumpulan baris perintah yang digunakan untuk melakukan suatu perintah. Dalam penulisan program, kita bisa menuliskan perintah yang berulang-ulang,

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

untuk mengurangi berulangnya suatu perintah dan supaya lebih efisien dalam penulisan kode, kita bisa menggunakan fungsi.
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);

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 menggabungkan suatu skrip pemanggilnya. adalah include digunakan untuk

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.

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

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 TINYINT SMALLINT MEDIUMINT INT BIGINT FLOAT DOUBLE Kisaran Nilai (-128) 127 atau 0 255 (-32768) 32767 atau 0 65535 (-3888608) 3888607 atau 0 16777215 (-2147683648) 2147683647 atau 0 4294967295 (-922337203685775808) 922337203685775807 atau 0 184467440737099551615 (-3.402823466E+38) (-1.1775494351E-38), 0 dan 1.1759431E-38 3.4028223466E+38 (-1.7976931348623157E+308) (-2.2250738585072014E308), 0 dan 2.2250738585072014E-308 1.7976931348623157E-308)

2.2.String Tipe Data CHAR VARCHAR TINYBLOB, TINYTEXT BLOB, TEXT MEDIUMBLOB, LONGTEXT LONGBLOB, LONGTEXT ENUM(elemen1,elemen2,) SET(elemen1,elemen2,) Kisaran Nilai 1 255 karakter 1 255 karakter 1 255 karakter 1 65535 karakter 1 16777215 karakter 1 4294967295 karakter Maksimum 65535 karakter Maksimum 64 elemen

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis 2.3.Tanggal Tipe Data DATETIME DATE TIMESTAMP TIME YEAR Kisaran Nilai 1000-01-01 00:00:00 9999-12-31 23:59:59 1000-01-01 9999-12-31 1970-01-01 00:00:00 2037 -838:59:59:59 838:59:59:59 1901 2155

10

3. Perintah Dasar MySql 3.1.Create Database Perintah ini digunakan untuk membuat database baru pada MySql.
Bentuk Umum : CREATE DATABASE namaDatabase;

contoh : CREATE DATABASE pegawai;

3.2.Create Table Perintah ini digunakan untuk membuat table pada suatu database.
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))

3.3.Drop Table Perintah ini digunakan untuk menghapus suatu tabel pada suatu database.
Bentuk Umum : DROP TABLE namaTabel; contoh : DROP TABLE dataPegawai;

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 :

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

11

4.1.Insert Perintah ini digunakan untuk memasukkan data.


Bentuk Umum : INSERT INTO namaTabel (field1, field2, ...) VALUES (data1, data2, ...);

contoh : INSERT INTO dataPegawai (nip, namaPeg, alamat)VALUES(0211500173, indra, bintaro);

4.2.Select Perintah ini digunakan untuk melihat data dari satu atau beberapa tabel.
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;

4.3.Update Perintah ini digunakan untuk memperbaiki atau mengubah data yang sudah ada.
Bentuk Umum : UPDATE namaTabel SET field1=dataBaru1, field2=dataBaru2, ... WHERE [kondisi];

contoh : UPDATE dataPegawai SET alamat=jakarta selatan WHERE nip=0211500173;

4.4.Delete Perintah ini digunakan untuk menghapus data.


Bentuk Umum : DELETE FROM namaTabel WHERE [kondisi]; contoh : DELETE FROM dataPegawai WHERE nip=0211500173;

5. Fungsi-fungsi MySql Berikut adalah fungsi-fungsi MySql yang digunakan untuk koneksi, DML MySql dengan PHP.

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

12

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().
Bentuk Umum : MYSQL CONNECT (namaHost, namaUser, password); contoh : MYSQL CONNECT (localhost, root, rahasia);

5.2.MySql_select_db() Digunakan untuk memilih atau mengaktifkan database.


Bentuk Umum : MYSQL SELECT DB (namaDatabase); contoh : MYSQL SELECT DB (pegawai);

5.3.MySql_query() Digunakan untuk menjalankan perintah query yang terdapat di MySql, misalnya perintah insert, update, delete dll.
Bentuk Umum : MYSQL_QUERY (perintah mysql);

contoh : MYSQL_QUERY (SELECT * FROM dataPegawai);

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 fungsifungsi 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_FETCH_ROW (pengenalHasil);

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

13

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

5.5.MySql_num_rows () Digunakan untuk menghasilkan jumlah baris pada suatu tabel.


Bentuk Umum : MYSQL_NUM_ROWS (pengenalHasil);

contoh : $query = mysql_query("SELECT * FROM dataPegawai"); $numrows = mysql_num_rows($query); Echo $numrows; // menghasilkan jumlah baris/record

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

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

14

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. ?>

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

15

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 Id User Password Nama Email Alamat Properties Int(2), primary key, auto_increment Varchar(25) Varchar(255) Varchar(50) Varchar(50) 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. ?>

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

16

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. ?> 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 Hitung Peoperties Int(6)

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. ?>

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 Id Date Nama Alamat Email url Komentar Peoperties Int(6), primary key, auto_increment datetime Varchar(25) Varchar(50) Varchar(50) Varchar(50) text

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

17

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. ?>

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

18

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>&nbsp;</TD> 47. </TR> 48. <?

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

19

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. ?>

7.4. Artikel Untuk membuat halaman web artikel, kita membutuhkan satu tabel yaitu tabel artikel. Struktur tabelnya adalah sebagai berikut : Nama Field Id Date Nama Judul Gambar Isi Peoperties Int(3), primary key, auto_increment datetime Varchar(25) Varchar(100) Varchar(100) text

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

20

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. ?>

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis

21

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>&nbsp;</TD> 47. </TR> 48. <? 49. Versi 1.2 Februari 2007

PHP & MySql Untuk Web Dinamis

22

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. ?>

Versi 1.2

Februari 2007

PHP & MySql Untuk Web Dinamis 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.

23

Versi 1.2

Februari 2007