Selasa, 17 Desember 2013

Cara membuat form Html dan MySQL

Berikut adalah contoh form HTML yang berisi form untuk memasukkan data ke database. Data yang ingin kita masukkan adalah data siswa yang terdiri dari, Nama depan (first name), nama belakang (last name), jenis kelamin (gender), dan kelas (class) . Tabel yang akan digunakan pada skrip ini adalah “students”.

<form action="insert.php" method="post">     
First Name: <input type="text" name="fname" />
Last Name: <input type="text" name="lname" />
Gender: <input type="text" name="gender" />
Class: <input type="text" name="class" />
<input type="Submit" name="submit" />
</form>
 
 
Selanjutnya, anda perlu skrip PHP untuk memasukkan data dari file HTML tersebut ke dalam database.

<?php
$username="username";
$password="password";
$database="database_name";

$fname=$_POST['fname'];
$lname=$_POST['lname'];
$gender=$_POST['gender'];
$class=$_POST['class'];

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO students VALUES(DEFAULT,'$fname','$lname',
'$gender','$class',NOW())";
$result = mysql_query($query);
if(!$result){
die("Invalid query : '.mysql_error());
}
mysql_close();
?>
 
 
Skrip PHP tersebut harus disimpan dengan nama file “insert.php” karena pada HTML form, file yang dipanggil adalah insert.php.
Setelah menjalankan file HTML tersebut, anda akan memasukkan data sesuai dengan kolom yang tersedia dan secara otomatis data tersebut akan masuk ke dalam database. Kemudian, anda menginginkan untuk melihat hasil dari data yang anda masukkan dengan menggunakan PHP.
Kode PHP yang diperlukan untuk menampilkan isi dari tabel adalah sebagai berikut :


<?php
$username="username";
$password="password";
$database="database";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$query="SELECT * FROM students";
$result=mysql_query($query);
if(!$result){
die("Invalid query : '.mysql_error());
}

$numrows=mysql_num_rows($result);
echo "<b><center>Database Output</center></b><br><br>";
echo "Jumlah data Siswa : ".$numrows. "<br><br>";

while ($row = mysql_fetch_array($result)){
echo "Nama Depan : ".$row['student_fname']. "<br>";
echo "Nama Belakang : ". $row['student_lname'] ."<br>";
echo "Jenis Kelamin : ".$row['student_gender'] ."<br>";
echo "Kelas : ".$row['student_class'] ."<br><br>";
} 
?>
 
Fungsi mysql_num_rows digunakan untuk menghitung jumlah baris yang didapat dari hasil eksekusi query (mysql_query).

Fungsi while(){} digunakan untuk melakukan looping (perulangan) selama data yang diinginkan masih ada.

Fungsi mysql_fetch_array menampilkan data dari tabel dalam bentuk array

Bagaimana cara koneksi ke MySQL ?

Koneksi ke MySQL merupakan langkah awal yang penting untuk aplikasi web dinamis. Jika koneksi MySQL gagal, maka anda tidak dapat menjalan query database.
Sebuah latihan yang baik saat menggunakan database adalah untuk mengatur host server, username, password dan nama database  pada awal kode (script). Agar lebih mudah dan tidak terjadi perulangan ketika melakukan koneksi, ada baiknya jika kode tersebut disimpan dalam satu file saja. Jika terjadi perubahan, makan anda hanya perlu merubah kode tersebut di satu file saja.

$localhost = "host_anda";
$username="username_anda";
$password="password_anda";
$database="nama_database";
 
Anda harus mengganti “host_anda”, “username_anda”, “password_anda”, “nama_database” dengan , host MySQL, username & password MySQL dan database yang akan digunakan untuk skrip anda.
Mungkin anda bertanya-tanya apakah ada resiko keamanan untuk menjaga password Anda dalam file. Anda tidak perlu khawatir karena  PHP source code diproses oleh server sebelum dikirim ke browser. Jadi pengunjung tidak akan melihat kode (script) aplikasi anda.
Selanjutnya anda perlu melakukan koneksi ke database dengan skrip PHP. Hal ini dapat dilakukan dengan fungsi mysql_connect :

mysql_connect($localhost,$username,$password);
 
Baris ini memberitahukan PHP untuk melakukan koneksi ke MySQL database server yang sudah anda set pada awal kode tadi.
Setelah koneksi terhubung, anda perlu select database yang akan anda gunakan. Database yang anda gunakan harus sesuai dengan username yang memiliki hak akees ke database tersebut. Hal ini dapat dilakukan melalui perintah berikut :

@mysql_select_db($database) or die("tidak bisa konek database");
Perintah ini memberitahukan PHP untuk memilih database yang sudah anda set dengan variabel $database pada awal code. Jika skrip tersebut gagal melakukan koneksi, maka akan menampilkan pesan error :
Tidak bisa konek database
fungsi or die(); berfungsi memberikan hasil debug dari fungsi yang dieksekusi.
Fungsi PHP penting lainnya :
mysql_close();
Fungsi ini sangatlah penting untuk menghentikan koneksi ke server database. Skrip anda akan tetap jalan jika anda tidak memasukkan fungsi ini. Dan jika anda tidak menghentikan koneksi (banyak koneksi yang terhubung) akan membuat masalah di website anda. latihan yang baik adalah menghentikan semua koneksi MySQL setelah mengeksekusi sebuah query.
Melalui perintah diatas, anda sudah berhasil konek ke server MySQL dan siap melakukan query database lainnya.

Contoh program Penggajian sederhana menggunakan Html dan MySQL

Untuk contoh kali ini kita akan menggunakan sebuah database yang digunakan untuk menyimpan data data program nantinya.

Coba ikuti tutorial berikut :
Untuk contoh kali ini kita akan menggunakan sebuah database yang digunakan untuk menyimpan data-data program nantinya - See more at: http://serandal.blogspot.com/2013/07/contoh-program-penggajian-sederhana.html#sthash.MnvzGPy7.dpuf
Untuk contoh kali ini kita akan menggunakan sebuah database yang digunakan untuk menyimpan data-data program nantinya - See more at: http://serandal.blogspot.com/2013/07/contoh-program-penggajian-sederhana.html#sthash.MnvzGPy7.dpuf

  • Pastikan Apache dan MySQL di XAMPP sudah dalam keadaan start.

  • Buka browser Anda lalu ketikkan http://localhost/phpmyadmin/
  • Langkah berikutnya adalah membuat sebuah database, untuk nama database masukkan saja db_penggajian lalu klik buat.

  • Buatlah sebuah tabel dengan nama tb_gaji dengan jumlah kolom sebanyak 8. 
  • Untuk kolom tb_gaji kurang lebih isinya seperti di bawah ini :


  • Setelah database dan tabel berhasil dibuat, buatlah sebuah folder dengan nama penggajian di C:\xampp\htdocs\

  • Buatlah sebuah file dengan nama config.php


  • buka file config.php isikan kode berikut 
 
  1. <?php  
  2.   
  3. $koneksi = mysql_connect("localhost","root","");  
  4. mysql_select_db("db_penggajian",$koneksi);  
  5.   
  6. ?>  
  • Buatlah file baru lagi dengan nama index.php
  • Buka file index.php lalu masukkan kode berikut : 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>Untitled Document</title>  
  6. </head>  
  7. <body>  
  8. <div align="center">  
  9. <form id="form1" name="form1" method="post" action="proses.php">  
  10. <table width="395" border="1">  
  11. <tr>  
  12. <td bgcolor="#CCCCCC"><table width="428" border="0">  
  13. <tr>  
  14. <td colspan="2"><div align="center"><strong>ENTRY DATA PENGGAJIAN</strong></div></td>  
  15. </tr>  
  16. <tr>  
  17. <td width="111">&nbsp;</td>  
  18. <td width="307">&nbsp;</td>  
  19. </tr>  
  20. <tr>  
  21. <td>NIP</td>  
  22. <td> :  
  23. <input name="nip" type="text" />   
  24. * Maksimal 6 karakter</td>  
  25. </tr>  
  26. <tr>  
  27. <td>Nama </td>  
  28. <td>:  
  29. <input name="nama" type="text" />   
  30. * Maksimal 40 karakter</td>  
  31. </tr>  
  32. <tr>  
  33. <td>Status</td>  
  34. <td>:  
  35. <input name="status" type="radio" value="Menikah" checked="checked" />  
  36. Menikah  
  37. <input name="status" type="radio" value="Belum Menikah" />  
  38. Belum Menikah</td>  
  39. </tr>  
  40. <tr>  
  41. <td>Jabatan</td>  
  42. <td>:  
  43. <select name="jabatan">  
  44. <option value="Direktur">Direktur</option>  
  45. <option value="Sekretaris">Sekretaris</option>  
  46. <option value="Manager">Manager</option>  
  47. <option value="Keuangan">Keuangan</option>  
  48. </select></td>  
  49. </tr>  
  50. <tr>  
  51. <td>&nbsp;</td>  
  52. <td>&nbsp;  
  53. <input name="input" type="submit" />  
  54. <input name="input" type="reset" /></td>  
  55. </tr>  
  56. </table></td>  
  57. </tr>  
  58. </table>  
  59. </form>  
  60. </div>  
  61. </body>  
  62. </html>  

  • buat file terakhir dengan nama proses.php 
  • buka file proses.php dengan text editor, lalu masukkan kode berikut :

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>Untitled Document</title>  
  6. <style type="text/css">  
  7. body,td,th {  
  8.  font-family: "Courier New", Courier, monospace;  
  9. }  
  10. </style>  
  11. </head>  
  12.   
  13. <body>  
  14. <p>  
  15. <?php  
  16. include("config.php");  
  17. $nip = $_POST['nip'];   
  18. $nama = $_POST['nama'];   
  19. $status = $_POST['status'];   
  20. $jabatan = $_POST['jabatan'];   
  21.   
  22. $sql = "SELECT * FROM tb_gaji WHERE nip = '$nip' AND nama = '$nama'";  
  23.   
  24. $hasil = mysql_query($sql, $koneksi);  
  25. $record = mysql_fetch_array($hasil);  
  26.   
  27. //kondisi jika nip / nama kosong, maka akan disuruh input lagi  
  28. if(($nip == "") || ($nama == "")) {  
  29.  echo "<center><h1>Maaf NIP / Nama masih kosong.</h1>   
  30. Anda akan kembali ke halaman utama dalam 10 detik. </center>";  
  31.  header('refresh:10;url=index.php');  
  32.  }  
  33. //jika nip / nama sudah ada isinya maka lanjut ke  kondisi berikutnya  
  34. else {   
  35.   
  36. //kondisi jika nip telah digunakan / telah tersimpan di database  
  37. if($nip == $record['nip']){  
  38.    
  39.  echo "<center><h1>Maaf NIP $nip telah digunakan oleh user lain.</h1>   
  40. Anda akan kembali ke halaman utama dalam 10 detik. </center>";  
  41.  header('refresh:10;url=index.php');  
  42.  }   
  43.   
  44. //jika belum tersimpan / belum digunakan maka data siap diproses dan disimpan ke database   
  45. else {  
  46.    
  47. //menghitung gaji pokok  
  48. if ($jabatan == "Direktur"){  
  49.  $gaji_pokok = 4000000;  
  50.  }  
  51. else if ($jabatan == "Sekretaris"){  
  52.  $gaji_pokok = 3000000;  
  53.  }  
  54. else if ($jabatan == "Manajer"){  
  55.  $gaji_pokok = 350000;  
  56.  }  
  57. else if ($jabatan == "Keuangan"){  
  58.  $gaji_pokok = 320000;  
  59.  }  
  60.   
  61. //Menghitung Tunjangan  
  62. if ($status == "Menikah"){  
  63.  $tunjangan = 0.1  * $gaji_pokok;  
  64.  }  
  65. else {  
  66.  $tunjangan = 0.05 * $gaji_pokok;  
  67.  }  
  68.   
  69. //Menghitung Gaji Bersih  
  70. $gaji_bersih = $gaji_pokok + $tunjangan;  
  71.   
  72.   
  73.   
  74. //Menyimpan data ke database  
  75.   
  76. $sql = "INSERT INTO tb_gaji (nip, nama, status, jabatan, gaji_pokok, tunjangan, gaji_bersih) VALUES ('$nip', '$nama', '$status', '$jabatan', '$gaji_pokok', '$tunjangan', '$gaji_bersih')";  
  77.   
  78. $hasil = mysql_query($sql, $koneksi);  
  79.   
  80. if($hasil){  
  81.  $pesan = "Data berhasil disimpan.";  
  82.   
  83.  }  
  84. else {  
  85.  echo "Data gagal disimpan   
  86. ";  
  87.  }  
  88. ?>  
  89. </p>  
  90.   
  91.   <div align="center">  
  92. <table width="395" border="1">  
  93. <tr>  
  94. <td bgcolor="#00FFFF"><table width="395" border="0">  
  95. <tr>  
  96. <td colspan="2"><div align="center"><strong>DAFTAR GAJI PEGAWAI</strong></div></td>  
  97. </tr>  
  98. <tr>  
  99. <td height="10" colspan="2"><hr /></td>  
  100. </tr>  
  101. <tr>  
  102. <td width="156">&nbsp;NIP</td>  
  103. <td width="229">: <?php echo "$nip"; ?></td>  
  104. </tr>  
  105. <tr>  
  106. <td>&nbsp;Nama</td>  
  107. <td>: <?php echo "$nama"; ?></td>  
  108. </tr>  
  109. <tr>  
  110. <td>&nbsp;Status</td>  
  111. <td>: <?php echo "$status"; ?></td>  
  112. </tr>  
  113. <tr>  
  114. <td>&nbsp;Jabatan</td>  
  115. <td>: <?php echo "$jabatan"; ?></td>  
  116. </tr>  
  117. <tr>  
  118. <td>&nbsp;GajiPokok</td>  
  119. <td>: <?php echo "Rp. " .number_format($gaji_pokok); ?></td>  
  120. </tr>  
  121. <tr>  
  122. <td>&nbsp;Tunjangan Gaji</td>  
  123. <td>: <?php echo "Rp. " .number_format($tunjangan); ?></td>  
  124. </tr>  
  125. <tr>  
  126. <td colspan="2">____________________________________ +</td>  
  127. </tr>  
  128. <tr>  
  129. <td>&nbsp;Gaji Bersih</td>  
  130. <td>: <?php echo "Rp. " .number_format($gaji_bersih); ?></td>  
  131. </tr>  
  132. <tr>  
  133. <td colspan="2">&nbsp;<b><?php echo "$pesan" ?></b></td>  
  134. </tr>  
  135. <tr>  
  136. <td colspan="2"><a href="javascript:history.back()">Kembali</a></td>  
  137. </tr>  
  138. </table></td>  
  139. </tr>  
  140. </table>  
  141. </div>  
  142.   
  143.   
  144. <?php   
  145. }  
  146. }  
  147. ?>  
  148. </body>  
  149. </html>  
  • Jangan lupa disimpan.
  • setelah semua langkah di atas selesai, sekarang buka browser Anda, lalu coba ketikkan http://localhost/penggajian/
  • Tampilannya kurang lebih seperti ini, kemudian isi form sesuai keinginan Anda, misal :
  • lalu klik submit
  • dan hasil akhirnya kurang lebih seperti ini
 
  • Bukti bahwa data berhasil disimpan

  • untuk mencoba kodisi yang telah dibuat pada file proses.php silahkan input data yang sama dengan sebelumnya dan lihat bagaimana output yang dihasilkan.
  • Keterangan dari program :

Copyright @ 2013 Irfan's Blog.