Tampilkan postingan dengan label Sql. Tampilkan semua postingan
Tampilkan postingan dengan label Sql. Tampilkan semua postingan

Membuat Aplikasi CRUD Sederhana Dengan PHP dan MySQL

Membuat Aplikasi CRUD Sederhana Dengan PHP dan MySQL

 

 

 

 

 


Sebelum masuk kedalam sebuah kerangka kerja PHP yang komplek, ada baik nya kita mempelajari hal-hal dasar dalam dalam membangun sebuah aplikasi dengan PHP. Banyak diantara kita yang terjebak pada sebuah framework/ kerangka kerja PHP, tanpa tahu dasar PHP itu sendiri.

Seperti halnya dengan membuat aplikasi CRUD, mungkin selama ini kita menggunakan framework-framework PHP yang sudah menyediakan CRUD secara otomatis atau mengikuti alur CRUD yang sudah ada. Pertanyaan nya apakah kita sudah tau dasar CRUD di PHP tanpa embel-embel framework?.

Berangkat dari permasalahan tersebut, saya mencoba menyajikan sebuah tutorial sederhana dengan PHP CRUD tanpa embel-embel framework. Dengan ini diharapkan kita mampu membuat aplikasi CRUD sederhana dengan PHP tanpa framework.

Sebelum nya pada tutorial nya membuat aplikasi login dengan PHP telah dijelaskan tentang pembuatan aplikasi login sederhana dengan php, dan kita akan mencoba menggabungkan ke dua aplikasi tersebut login+CRUD untuk data penduduk. Hal yang pertama harus kita lakukan adalah membuat database dan tabel di mysql:

 
  1. CREATE DATABASE /*!32312 IF NOT EXISTS*/`crud` /*!40100 DEFAULT CHARACTER SET utf8 */;
  2.  
  3. USE `crud`;
  4.  
  5. /*Table structure for table `penduduk` */
  6.  
  7. DROP TABLE IF EXISTS `penduduk`;
  8.  
  9. CREATE TABLE `penduduk` (
  10. `id` int(11) NOT NULL AUTO_INCREMENT,
  11. `nip` varchar(15) DEFAULT NULL,
  12. `nama` varchar(100) DEFAULT NULL,
  13. `jk` enum('laki-laki','perempuan') DEFAULT NULL,
  14. `kawin` enum('kawin','lajang') DEFAULT NULL,
  15. `pekerjaan` varchar(100) DEFAULT NULL,
  16. `alamat` varchar(225) DEFAULT NULL,
  17. PRIMARY KEY (`id`)
  18. ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;
  19.  
  20. /*Data for the table `penduduk` */
  21.  
  22. insert into `penduduk`(`id`,`nip`,`nama`,`jk`,`kawin`,`pekerjaan`,`alamat`) values (16,'000000000000001','admins','laki-laki','kawin','admins','-'),(17,'000000000000002','editors','perempuan','lajang','editors','-'),(18,'000000000000003','hadinug','laki-laki','lajang','freelance','-'),(19,'000000000000004','teguh','laki-laki','lajang','Pegawai Negeri','-'),(20,'000000000000005','mario','laki-laki','kawin','motivator','-'),(21,'000000000000006','ruhut','laki-laki','kawin','anggota dhewan','-'),(22,'000000000000007','Ngadimin','laki-laki','lajang','Pengangguran','-');
  23.  
  24. /*Table structure for table `users` */
  25.  
  26. DROP TABLE IF EXISTS `users`;
  27.  
  28. CREATE TABLE `users` (
  29. `id` int(11) NOT NULL AUTO_INCREMENT,
  30. `username` varchar(30) DEFAULT NULL,
  31. `password` varchar(45) DEFAULT NULL,
  32. PRIMARY KEY (`id`)
  33. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  34.  
  35. /*Data for the table `users` */
  36.  
  37. insert into `users`(`id`,`username`,`password`) values (1,'admin','21232f297a57a5a743894a0e4a801fc3');

Kemudian buat struktur aplikasi CRUD yang akan kita buat seperti pada gambar berikut:



Kemudian pada script index.php, kita isikan kode berikut:

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Login</title>
  5. <style type="text/css">
  6.  
  7. body{
  8. font: 12px/25px sans-serif;
  9. margin: 10px auto;
  10. width: 980px;
  11. padding: 10px;
  12. }
  13. form input[type="text"],form textarea, form input[type="password"]{
  14. padding: 5px;
  15. border: 1px solid #ccc;
  16. }
  17. form input[readonly="true"]{
  18. background: #f3f3f3;
  19. }
  20. form label{
  21. float: left;
  22. width: 100px;
  23. padding: 5px;
  24. font-weight: bold;
  25. }
  26. form input[type="submit"],input[type="reset"]{
  27. border: none;
  28. background: #3333ff;
  29. color: #fff;
  30. padding: 5px 10px;
  31. }
  32. form input[type="submit"]{
  33. background: #3333ff;
  34. }
  35. input[type="reset"]{
  36. background: #ffcc33;
  37. }
  38. .left{
  39. float: left;
  40. width: 20%;
  41. }
  42. .right{
  43. float: left;
  44. padding: 5px 1%;
  45. width: 76%;
  46. border-left: 1px solid #ccc;
  47. }
  48. table{
  49. float: left;
  50. margin-left: 10px;
  51. border-left: 1px solid #ccc;
  52. border-top: 1px solid #ccc;
  53. width: 100%;
  54. }
  55. table tr, table tr+tr, table td, table td+td, table th, table th+th{
  56. border-right: 1px solid #ccc;
  57. border-bottom: 1px solid #ccc;
  58. padding: 5px;
  59. }
  60. .pagging{
  61. float: right;
  62. padding: 10px 0;
  63. text-align: right;
  64. }
  65. .pagging a, .pagging strong{
  66. padding: 5px;
  67. border: 1px solid #ccc;
  68. margin-left: 5px;
  69. }
  70. </style>
  71. </head>
  72. <body>
  73. <div class="left">
  74. <ul>
  75. <li>
  76. <a href="index.php?mod=penduduk">Penduduk</a>
  77. </li>
  78. <?php
  79. if (isset($_COOKIE['username'])) {
  80. ?>
  81. <li>
  82. <a href="logout.php">Keluar</a>
  83. </li>
  84. <?php
  85. }
  86. ?>
  87. </ul>
  88. </div>
  89. <div class="right">
  90. <?php
  91. if (isset($_COOKIE['username'])) {
  92. include 'connection.php';
  93. if (isset($_GET['mod'])) {
  94. switch ($_GET['mod']) {
  95.  
  96. case 'penduduk':
  97. if (isset($_GET['func'])) {
  98. switch ($_GET['func']) {
  99. case 'create':
  100. case 'update':
  101. include 'penduduk/form.php';
  102. break;
  103. case 'delete':
  104. include 'penduduk/delete.php';
  105. default:
  106. include 'penduduk/index.php';
  107. break;
  108. }
  109. } else {
  110. include 'penduduk/index.php';
  111. }
  112. default:
  113. break;
  114. }
  115. }
  116. } else {
  117. header("Location: login.php");
  118. }
  119. ?>
  120. </div>
  121. </body>
  122. </html>

Pada index.php semua target url ada pada halaman index.php, jadi ketika kita ingin memanggil modul penduduk, pada link kita cukup menuliskan index.php?mod=penduduk dan link ini akan mengarah pada file penduduk/index.php.

Kemudian pada penduduk/index.php, kita akan menuliskan script untuk menampilkan data penduduk dalam sebuah table dengan pagging.

 
  1. <?php
  2. /// koneksi database
  3. $offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
  4. $limit = isset($_GET['limit']) ? $_GET['limit'] : 5;
  5. $x = 0;
  6. if ($limit > 0) {
  7. $x = ($offset * $limit);
  8. }
  9. $query = mysql_query("SELECT * FROM penduduk ORDER BY `id` DESC LIMIT $x,$limit ") or die(mysql_error());
  10. $no = $x + 1;
  11.  
  12. function pagging($limit, $offset) {
  13. $num = intval(mysql_num_rows(mysql_query('SELECT * FROM penduduk')));
  14.  
  15. $num_p = $num / intval($limit);
  16. $lp = '';
  17. for ($i = 0; $i < $num_p; $i++) {
  18. if ($i == $offset) {
  19. $lp.= "<strong>" . ($i + 1) . "</strong>";
  20. } else {
  21. $lp.= "<a href='index.php?mod=penduduk&limit=$limit&offset=$i'>" . ($i + 1) . "</a>";
  22. }
  23. }
  24. echo $lp;
  25. }
  26. ?>
  27. <p>
  28. <a href="index.php?mod=penduduk&func=create">Tambah Data</a>
  29. </p>
  30. <table cellpading='0' cellspacing='0'>
  31. <tr>
  32. <th>No</th>
  33. <th>Nip</th>
  34. <th>Nama</th>
  35. <th>Jenis Kelamin</th>
  36. <th>Status</th>
  37. <th>Pekerjaan</th>
  38. <th>Alamat</th>
  39. <th>Action</th>
  40. </tr>
  41. <?php
  42. while ($row = mysql_fetch_object($query)) {
  43. ?>
  44. <tr>
  45. <td><?php echo $no ?></td>
  46. <td><?php echo $row->nip ?></td>
  47. <td><?php echo $row->nama ?></td>
  48. <td><?php echo $row->jk ?></td>
  49. <td><?php echo $row->kawin ?></td>
  50. <td><?php echo $row->pekerjaan ?></td>
  51. <td><?php echo $row->alamat ?></td>
  52. <td align="center"><a href="index.php?mod=penduduk&func=update&id=<?php echo $row->id ?>&m=Update">Update</a> / <a href="index.php?mod=penduduk&func=delete&id=<?php echo $row->id ?>">Delete</a></td>
  53. </tr>
  54. <?php
  55. $no++;
  56. }
  57. ?>
  58. </table>
  59. <script type="text/javascript">
  60. function set_limit(i){
  61. window.location.href="index.php?mod=penduduk&limit="+i.value;
  62. }
  63. </script>
  64. Limit <select onchange="set_limit(this)" style="width: 20%; margin: 10px; width: 50px">
  65. <option value="5" <?php echo isset($limit) ? ($limit=='5') ? 'selected="true"': '' : '' ?>>5</option>
  66. <option value="10" <?php echo isset($limit) ? ($limit=='10') ? 'selected="true"': '' : '' ?>>10</option>
  67. <option value="15" <?php echo isset($limit) ? ($limit=='15') ? 'selected="true"': '' : '' ?>>15</option>
  68. </select>
  69. <span class="pagging">
  70. Pagging : <?php pagging($limit, $offset) ?>
  71. </span>

FIle penduduk/form.php, kita gunakan untuk menambah dan mengubah data penduduk. Hal ini  sengaja saya ringkas.

 
  1. <?php
  2. // jika terdapat HTTP GET dengan ID maka lakukan query pencarian penduduk dengan ID tersebut
  3. if (isset($_GET['id'])) {
  4. $query = mysql_query("SELECT * FROM penduduk WHERE id ='$_GET[id]'") or die(mysql_error());
  5. $row = mysql_fetch_object($query);
  6. }
  7.  
  8. function auto_nip($length = 15) {
  9. $num = mysql_num_rows(mysql_query('SELECT * FROM penduduk')) + 1;
  10. $number = strval($num);
  11. $tmp = '';
  12. for ($i = 1; $i <= ($length - 0 - strlen($number)); $i++) {
  13. $tmp = $tmp . "0";
  14. }
  15. return $tmp . $number;
  16. }
  17. ?>
  18. <form method="post" action="">
  19. <p>
  20. <label>NIP</label>
  21. <input type="text" name="nip" readonly="true" value="<?php echo isset($row->nip) ? $row->nip : auto_nip() ?>">
  22. </p>
  23. <p>
  24. <label>Nama</label>
  25. <input type="text" name="nama" value="<?php echo isset($row->nama) ? $row->nama : '' ?>">
  26. </p>
  27. <p>
  28. <label>Jenis Kelamin</label>
  29. <input type="radio" name="jk" value="laki-laki" <?php echo isset($row->jk) ? ($row->jk == 'laki-laki') ? 'checked="true"' : '' : '' ?>> Laki-laki
  30. <input type="radio" name="jk" value="perempuan" <?php echo isset($row->jk) ? ($row->jk == 'perempuan') ? 'checked="true"' : '' : '' ?>> Perempuan
  31. </p>
  32. <p>
  33. <label>Pekerjaan</label>
  34. <input type="text" name="pekerjaan" value="<?php echo isset($row->pekerjaan) ? $row->pekerjaan : '' ?>">
  35. </p>
  36. <p>
  37. <label>Status</label>
  38. <input type="radio" name="kawin" value="kawin" <?php echo isset($row->kawin) ? ($row->kawin == 'kawin') ? 'checked="true"' : '' : '' ?>> kawin
  39. <input type="radio" name="kawin" value="lajang" <?php echo isset($row->kawin) ? ($row->kawin == 'lajang') ? 'checked="true"' : '' : '' ?>> Lajang
  40. </p>
  41. <p>
  42. <label>Alamat</label>
  43. <textarea cols="50" rows="5" name="alamat"><?php echo isset($row->alamat) ? $row->alamat : '' ?></textarea>
  44. </p>
  45. <p>
  46. <label>&nbsp;</label>
  47. <input type="submit" value="<?php echo isset($_GET['m']) ? $_GET['m'] : 'Simpan'; ?>" name="<?php echo isset($_GET['m']) ? $_GET['m'] : 'Simpan'; ?>"> <input type="reset"name="Reset">
  48. </p>
  49. </form>
  50. <?php
  51. if (isset($_POST['Simpan'])) {
  52. mysql_query("
  53. INSERT INTO penduduk(`nip`,`nama`,`jk`,`kawin`,`pekerjaan`,`alamat`)
  54. VALUES('$_POST[nip]','$_POST[nama]','$_POST[jk]','$_POST[kawin]','$_POST[pekerjaan]','$_POST[alamat]')
  55. ") or die(mysql_error());
  56. header("location: index.php?mod=penduduk");
  57. }
  58. if (isset($_POST['Update'])) {
  59. mysql_query("
  60. UPDATE penduduk
  61. SET nip='$_POST[nip]',nama='$_POST[nama]',jk='$_POST[jk]',kawin='$_POST[kawin]',pekerjaan='$_POST[pekerjaan]',alamat='$_POST[alamat]'
  62. WHERE id='$_GET[id]'
  63. ") or die(mysql_error());
  64. header("location: index.php?mod=penduduk");
  65. }
  66. ?>



Dan pada tahap terakhir kita akan membuat action delete data penduduk di file penduduk/delete.php 


 
  1. <?php
  2.  
  3. if (isset($_GET['id'])) {
  4. mysql_query("DELETE FROM penduduk WHERE id ='$_GET[id]'") or die(mysql_error());
  5. header("location: index.php?mod=penduduk");
  6. }


Semoga bermanfaat, dan saya berharap ini bisa menjadi pembejaran bari kita dalam membuat aplikasi CRUD sederhana tanpa embel-embel framework.

Cara Membuat Website Lokal Dengan Xampp

Cara Membuat Website Lokal Dengan Xampp

Website lokal/website offline adalah suatu web yang dapat kita jalankan tanpa terkoneksi ke internet.

Sebelum membuat web lokal pertama kita siapkan dulu softwarenya. Software yang kita gunakan kali ini adalah Xampp, bagi yang belum punya silahkan downloan terlebih dahulu di Apachefriends.org (untuk windows). Dan CMS yang kita gunakan adalah Joomla.

Setelah itu install Xampp pada pc kalian, kemudian jalankan Xampp tersebut. Klik start pada modules Apache dan Mysql.



Berikutnya siapkan Joomla, extrak terlebih dahulu CMS Joomla yang masih berbentuk zip. Kemudian copy folder yang berisi file-file instalan Joomla tersebut pada folder /xampp/htdocs/.
Setelah selesai kita buka Internet Explorer, ketikkan localhost pada adress bar untuk memastikan apakah Xampp berjalan dengan normal.


Langkah selanjutnya kita buat database untuk joomla, caranya ketik http://localhost/phpmyadmin/ di address bar Internet explorer.


 Ketik pada pada kolom ciptakan database baru misalnya” joomla “ kemudian klik tombol ciptakan. Setelah database untuk joomla telah dibuat, selanjutnyaketik di address bar internet explorer nama folder installan joomla yang tadi di copy ke htdocs misalnya http://localhost/joomla .



Setelah itu klik "Next" terus hingga langkah/Step ke empat.



Pada step ke 4 ini kita harus isi data-data untuk install CMS
Database type  : mysql
Host name       : localhost
Username        : root
password biarkan kosong
Database        : joomla/ nama database yg dibuat di phpmyadmin.

 Kemudian klik "Next". Berikutnya pada Step 5 terdapat FTP Configuration biarkan kosong, klik "Next". Pada Step 6 terdapat Configuration, isi data tentang website kamu kemudian klik "Next".
Jika web terinstall dengan benar akan muncul ucapan "Congratulation" karena web berhasil diinstall.


Nah setelah berhasil terinstall kemudian close atau keluar dari browser internet explorer, lalu hapus folder installation yang ada di folder installan joomla yang di copy ke /xampp/htdocs, kemudian jalankan kembali browser internet explorer dan ketik di address bar http://localhost/nama folder yang dicopy ke folder htdocs tadi, misalnyahttp://localhost/joomla.



Dan selamat, web lokalmu sudah siap. :)

Cara Membuat Database MySQL dengan CMD

Cara Membuat Database MySQL dengan CMD

Disini Saya Akan Membuat Database Penjualan dengan Menggunakan CMD, Okeh Langsung Saja !

1. Buka Control Panel Xampp (Start - All Program- Xampp)
2. Pastikan Apache dan MySQL Running
3. Masuk ke CMD dan Tuliskan Script berikut :
cd ..
cd ..   
cd xampp
cd mysql
cd bin
mysql -u root

4. Bila berhasil ada bacaan 'Welcome to MySQL monitor'. Okeh Kita Lanjutkan dengan databasenya
5. Create database penjualan;
6. Use penjualan;
7. Lalu kita membuat Tabel dari database tersebut :
8. Create table barang (
Kode Varchar (5) Not Null,
Nama Varchar (20) Not Null,
Harga Integer Not Null,
Primary key (Kode)
);

9. Kita akan membuat isi dari Tabelnya :
Insert into barang (Kode, Nama, Harga) Values ("001","Indomie Goreng","2000");
10. Bila ingin melihat Hasilnya : Select*From barang;

11. Bila ingin membuat isinya banyak, Ulangi langkan No.10 tetapi 001 diganti menjadi 002 karna tadi kita mengkasi Primary Key di Kode.

TAMBAHAN

*Disini saya sudah membuat 3 isi dari tabel tersebut*

1. Melihat Hasil : Select*From barang; 
2. Melihat Tabel : Show Tables;
3. Melihat Struktur Pembuatan : Desc barang;
4. Menambah Field : Alter table barang add Jumlah Integer Not Null; 
*Bila ingin mengisi datanya gunakan sama sepertinya No.8*

5. Merubah Nama Field : Alter table barang change Nama Nama_Barang varchar(20) not null;

6. Merubah Isi Field : Update barang set Nama_Barang="Shampo" where kode="001";

7. Menghapus Satu Barisan : Delete from barang where kode="001";

8. Menghapus Table : Drop barang;
9. Menghapus Database : Drop enjualan;