Generate Kode Booking di PHP dan MySql
Pada sesi kali ini membahas tentang fungsi generate kode booking di php. Sementara fungsi MySql disini untuk memeriksa / menghitung jumlah baris agar supaya tidak terjadi input kode 2x. Fungsi ini biasa digunakan oleh para web developer untuk membuat kode yg berbeda disetiap requestnya. Tidak hanya untuk kode booking saja, fungsi ini bisa digunakan untuk generate ID member, password, tiket atau kode voucher dll.
Pengetahuan tentang :
- PHP
- MySql
pertama, kita buat dulu database test dan table db_reservasi dulu.
CREATE DATABASE `test`; -- -- Table structure for table `db_reservasi` -- CREATE TABLE IF NOT EXISTS `db_reservasi` ( `rs_id` int(11) NOT NULL auto_increment, `rs_nama` varchar(20) NOT NULL, `rs_kode` varchar(8) NOT NULL, `rs_tanggal` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`rs_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; -- -- Dumping data for table `db_reservasi` -- INSERT INTO `db_reservasi` (`rs_id`, `rs_nama`, `rs_kode`, `rs_tanggal`) VALUES (1, 'Nasrul Hadi', 'A38GHP', '2011-06-05 23:51:55'), (2, 'Anton Sujarwadi', 'HY211V', '2011-06-05 23:51:55'), (3, 'Melani Chandra', '0P2GTB', '2011-06-05 23:53:20'), (4, 'Teguh Kusaini', 'RT35M7', '2011-06-05 23:53:20');
Setelah itu, buat file fungsi.php dan masukan script berikut :
<?php $host = "localhost"; // nama server $user = "root"; // mysql user $pass = "root"; // mysql password $db = "test"; // mysql database $table = "db_reservasi"; // nama table database // menghubungkan ke database mysql_connect($host, $user, $pass); mysql_select_db($db); //fungsi untuk mendapatkan jumlah total baris di database function getTotalRow($sql) { $rs = mysql_query($sql) or die(mysql_error().$sql); $r = mysql_num_rows($rs); mysql_free_result($rs); return $r; } function KodeBooking() { //jumlah panjang karakter angka dan huruf. $length_abjad = "2"; $length_angka = "4"; //huruf yg dimasukan, kecuali I,L dan O $huruf = "ABCDEFGHJKMNPRSTUVWXYZ"; //mulai proses generate huruf $i = 1; $txt_abjad = ""; while ($i <= $length_abjad) { $txt_abjad .= $huruf{mt_rand(0,strlen($huruf))}; $i++; } //mulai proses generate angka $datejam = date("His"); $time_md5 = rand(time(), $datejam); $cut = substr($time_md5, 0, $length_angka); //mennggabungkan dan mengacak hasil generate huruf dan angka $acak = str_shuffle($txt_abjad.$cut); //menghitung dan memeriksa hasil generate di database menggunakan fungsi getTotalRow(), //jika hasil generate sudah ada di database maka proses generate akan diulang $cek = getTotalRow('SELECT rs_kode FROM `db_reservasi` WHERE rs_kode = "'.$acak.'"'); if($cek > 0) { $cek = KodeBooking(); } return $acak; } ?>
untuk menampilkan, cukup include kan file fungsi.php dan sisipkan kode berikut :
<?php include "fungsi.php"; echo KodeBooking(); ?>
Ok, Selamat mencoba. Semoga bermanfaat…
Download File : http://www.box.net/shared/7kbzpc6gdh
–
dari Meja Nasrul, 2011
[ratings]
This is cool!