Script pemrograman PHP untuk tabel relasi dengan MySQLi

Diposting pada
Script pemrograman PHP untuk tabel relasi dengan MySQLi
5 (100%) 1 vote

Script pemrograman PHP untuk tabel relasi dengan MySQLiScript pemrograman PHP untuk tabel relasi dengan MySQLi: Kali ini kita akan membahas tentang source code untuk 2 tabel relasi pada PHP dengan mysqli, sebelum itu mungkin ada yang mau nanya mysqli itu apaan sih? yang jelas itu bukan nama cewek cantik haha… mysqli itu adalah ekstensi yang digunakan oleh PHP untuk versi PHP 5.5 ke atas.

Baca jugaSource Code PHP untuk Relasi Many to Many-Bagian 1

Gak usah bertele-tele, kita mulai aja, silahkan buat database misalnya dengan naman ( dbkampus ) kemudian buat 2 buah tabel dengan struktur sebagai berikut, oh ya untuk membuat database dan tabel boleh instan pakai phpmyadmin langsung.

Script pemrograman PHP untuk tabel relasi dengan MySQLi

CREATE TABLE IF NOT EXISTS `mahasiswa` (

  `nim` char(9) NOT NULL PRIMARY KEY,

  `nama` varchar(30) NOT NULL,

  `kdprodi` varchar(2) NOT NULL,

  `semester` varchar(1) NOT NULL,

  `jk` varchar(1) NOT NULL,

  `alamat` text NOT NULL,

  `foto` varchar(40) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `mahasiswa` (`nim`, `nama`, `kdprodi`, `semester`, `jk`, `alamat`, `foto`) VALUES

(’12.MI.011′, ‘Indrawati’, ‘MA’, ‘5’, ‘P’, ‘Mataram’, ‘mega-bowo.jpg’),

(’13.MI.025′, ‘Sri Wandini’, ‘KA’, ‘3’, ‘P’, ‘Selong’, ’14mariakirilenko.jpg’),

(’14.TK.002′, ‘Halimah’, ‘TK’, ‘3’, ‘P’, ‘Ampenan’, ‘ju81.png’);

CREATE TABLE IF NOT EXISTS `prodi` (

  `kdprodi` char(2) NOT NULL PRIMARY KEY,

  `nama_prodi` varchar(30) NOT NULL,

  `nama_kaprodi` varchar(35) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `prodi` (`kdprodi`, `nama_prodi`, `nama_kaprodi`) VALUES

(‘KA’, ‘Komputerisasi Akuntansi’, ‘Herliana Rosika, S.Kom.,M.Kom’),

(‘MA’, ‘Manajemen Administrasi’, ‘Henni Comala Hikmi, SE,M.Pd’),

(‘MI’, ‘Manajemen Informatika’, ‘M. Multazam, S.Kom’),

(‘TK’, ‘Teknik Komputer’, ‘Maspaeni, S.Kom.,M.Kom’);

Selanjutnya buat folder di htdocs untuk menyimpan file-file PHP misalnya dengan nama folder : kampus, buat juga sebuah folder untuk menyimpan gambar di dalam folder kampus misalnya dengan nama folder : images

Yang pertama kita lakukan adalah membuat file koneksi.php yang disimpan di dalam folder kampus. Berikut coding koneksi.php

  1. <?php
  2. $host=”localhost”;
  3. $user=”root”;
  4. $pass=””;
  5. $db=”dbkampus”;
  6. $koneksi=mysqli_connect($host,$user,$pass,$db);
  7. ?>

Ada pertanyaan dari coding di atas? gak usah nanya dah ya.. orang saya gak bisa jawab langsung juga, kalau ada yang nanya bsok di kelas aja atau di rumah atau di kamar hahaha…

Selanjutnya kita akan membuat coding untuk menampilkan data mahasiswa dengan relasi ke tabel prodi, ketik coding berikut dan simpan dengan nama file: tampil-mhs.php

  1. <?php
  2. include “koneksi.php”;
  3. ?>
  4. <html>
  5. <head>
  6. <title>Data Mahasiswa</title>
  7. </head>
  8. <body>
  9. <h2 align=”center”>Data Mahasiswa AMIKOM</h2>
  10. <table border=”0″ align=”center” cellpadding=”1″ cellspacing=”0″
  11. width=”70%”>
  12. <tr><td colspan=”7″>
  13. <a href=”tambah-mhs.php” style=”text-decoration:none”>
  14. <input type=”button” value=”TAMBAH”></a>
  15. </td></tr>
  16. </table>
  17. <table border=”1″ align=”center” cellpadding=”1″ cellspacing=”0″
  18. width=”75%”>
  19.     <tr align=”center” bgcolor=”yellow”>
  20.         <td>No. </td>
  21.         <td>NIM</td>
  22.         <td>Nama</td>
  23.         <td>Program Studi</td>
  24.         <td>Semester</td>
  25.         <td>L/P</td>
  26.         <td>Alamat</td>
  27.         <td>Aksi</td>
  28.     </tr>
  29. <?php
  30. $a=”select * from prodi,mahasiswa
  31. where prodi.kdprodi=mahasiswa.kdprodi”;
  32. $b=mysqli_query($koneksi,$a);
  33. $no=1;
  34. while($c=mysqli_fetch_array($b)){
  35. ?>
  36.     <tr>
  37.         <td><?php echo $no; ?>.</td>
  38.         <td><?php echo $c[‘nim’]; ?></td>
  39.         <td><?php echo $c[‘nama’]; ?></td>
  40.         <td><?php echo $c[‘nama_prodi’]; ?></td>
  41.         <td><?php echo $c[‘semester’]; ?></td>
  42.         <td><?php echo $c[‘jk’]; ?></td>
  43.         <td><?php echo $c[‘alamat’]; ?></td>
  44.         <td>
  45.         <a href=”detailmhs.php?nim=<?php echo $c[‘nim’]; ?>”>Detail</a> |
  46.         <a href=”ubahmhs.php?nim=<?php echo $c[‘nim’]; ?>”>Ubah</a> |
  47.         <a href=”javascript:if(confirm(‘Anda yakin menghapus?’))
  48. {document.location=’hapusmhs.php?nim=<?php echo $c[‘nim’]; ?>’;}”>Hapus</a></td>
  49.     </tr>
  50. <?php $no++; } ?>
  51. </table>
  52. </body>
  53. </html>

Menampilkan data dari 1 tabel dengan 2 tabel relasi caranya mirip, hanya saja perbedaannya pada query sql. Lihat pada query “select * from bla bla- bla.

Nah disana jika kita punya 2 tabel misalnya tabel A dan B kemudian ada field yang sama misalnya di tabel A ada x (sebagai primary key) dan di tabel B ada x juga (sebagai foreign key), maka untuk query relasinya adalah : select * from A,B where A.x=B.x; Jadi simpel bukan? Atau ada yg masih bingung? Kalau lo aja bingung apalagi gue.

Sekarang buat coding untuk tambah data dengan nama file : tambah-mhs.php

  1. <?php
  2. include “koneksi.php”;
  3. //apabila klik tombol simpan
  4. if(isset($_POST[‘simpan’])) {
  5. //buat variabel
  6. $nim=$_POST[‘nim’];
  7. $nama=$_POST[‘nama’];
  8. $kdprodi=$_POST[‘kdprodi’];
  9. $semester=$_POST[‘semester’];
  10. $jk=$_POST[‘jk’];
  11. $alamat=$_POST[‘alamat’];
  12. //upload foto
  13. $foto=$_FILES[‘foto’][‘name’];
  14. if(strlen($foto)>0){
  15.     if(is_uploaded_file($_FILES[‘foto’][‘tmp_name’])){
  16.     move_uploaded_file($_FILES[‘foto’] [‘tmp_name’],”images/”.$foto);
  17.     }
  18. }
  19. //buat query input
  20. $a=”insert into mahasiswa(nim,nama,kdprodi,semester,jk,alamat,foto)
  21. values(‘$nim’,’$nama’,’$kdprodi’,’$semester’,’$jk’,’$alamat’,’$foto’)”;
  22. $b=mysqli_query($koneksi,$a);
  23.     if($b){
  24.     header(“location:tampil-mhs.php”);
  25.     }else{
  26.     echo “Data gagal disimpan”;
  27.     }
  28. }
  29. ?>
  30. <html>
  31. <head>
  32. <title>Tambah data mahasiswa</title>
  33. </head>
  34. <body>
  35. <h2 align=”center”>Tambah Mahasiswa</h2>
  36. <form action=”” method=”POST” enctype=”multipart/form-data”>
  37. <table border=”0″ width=”60%” align=”center”>
  38.     <tr>
  39.         <td>Nomor Induk Mahasiswa</td>
  40.         <td><input type=”text” name=”nim” size=”15″></td>
  41.     </tr>
  42.     <tr>
  43.         <td>Nama Mahasiswa</td>
  44.         <td><input type=”text” name=”nama” size=”30″></td>
  45.     </tr>
  46.     <tr>
  47.         <td>Program Studi</td>
  48.         <td><select name=”kdprodi”>
  49.         <?php
  50.         $j=mysqli_query($koneksi,”select * from prodi”);
  51.         while($k=mysqli_fetch_array($j)){
  52.         echo “<option value=’$k[kdprodi]’>$k[nama_prodi]</option>”;
  53.         }
  54.         ?>
  55.         </select></td>
  56.     </tr>
  57.     <tr>
  58.         <td>Semester</td>
  59.         <td>
  60.         <select name=”semester”>
  61.             <option value=”1″>1</option>
  62.             <option value=”2″>2</option>
  63.             <option value=”3″>3</option>
  64.             <option value=”4″>4</option>
  65.             <option value=”5″>5</option>
  66.             <option value=”6″>6</option>
  67.         </select>
  68.         </td>
  69.     </tr>
  70.     <tr>
  71.         <td>Jenis Kelamin</td>
  72.         <td><input type=”radio” name=”jk” value=”L” checked>Laki-Laki
  73.         <input type=”radio” name=”jk” value=”P”>Perempuan
  74.         </td>
  75.     </tr>
  76.     <tr>
  77.         <td>Alamat</td>
  78.         <td><textarea name=”alamat” cols=”30″ rows=”4″></textarea>
  79.         </td>
  80.     </tr>
  81.     <tr>
  82.         <td>Foto</td>
  83.         <td><input type=”file” name=”foto”></td>
  84.     </tr>
  85.     <tr>
  86.         <td>&nbsp;</td>
  87.         <td><input type=”submit” name=”simpan” value=”SIMPAN”>
  88.         <input type=”reset” name=”batal” value=”BATAL”></td>
  89.     </tr>
  90. </table>
  91. </form>
  92. </body>
  93. </html>

Coba tes tampilkan form tambah-mhs.php. Ada yang aneh gak hehe.. yang aneh itu apabila formnya berubah menjadi foto cwo cwek lagi selfie hahaha.

Pada coding tambah, yang perlu diperhatikan adalah combobox prodi itu sifatnya dinamis. Kalau data di tabel prodi ditambah, maka di dalam combobox tersebut juga akan bertambah otomatis.

Lihat pada coding combobox prodi diantara <select> dan </select>. Disana ada query “select * from prodi”, belum ngerti ? Derita loo kale hehehe..

Selanjutnya buat coding untuk ubah data dengan nama file : ubahmhs.php

  1. <?php
  2. include “koneksi.php”;
  3. //menampilkan data
  4. $x=”select * from mahasiswa where nim=’$_GET[nim]'”;
  5. $y=mysqli_query($koneksi,$x);
  6. $z=mysqli_fetch_array($y);
  7. //apabila klik tombol simpan
  8. if(isset($_POST[‘ubah’])) {
  9. //buat variabel
  10. $nama=$_POST[‘nama’];
  11. $kdprodi=$_POST[‘kdprodi’];
  12. $semester=$_POST[‘semester’];
  13. $jk=$_POST[‘jk’];
  14. $alamat=$_POST[‘alamat’];
  15. //upload foto
  16. $foto=$_FILES[‘foto’][‘name’];
  17. if(strlen($foto)>0){
  18.     if(is_uploaded_file($_FILES[‘foto’][‘tmp_name’])){
  19.     move_uploaded_file($_FILES[‘foto’][‘tmp_name’],”images/”.$foto);
  20.     }
  21. mysqli_query($koneksi,”update mahasiswa set foto=’$foto’
  22. where nim=’$_GET[nim]'”);
  23. }
  24. //buat query ubah
  25. $a=”update mahasiswa set nama=’$nama’,kdprodi=’$kdprodi’,
  26. semester=’$semester’,jk=’$jk’,alamat=’$alamat’
  27. where nim=’$_GET[nim]'”;
  28. $b=mysqli_query($koneksi,$a);
  29.     if($b){
  30.     header(“location:tampil-mhs.php”);
  31.     }else{
  32.     echo “Data gagal diubah”;
  33.     }
  34. }
  35. ?>
  36. <html>
  37. <head>
  38. <title>Ubah data mahasiswa</title>
  39. </head>
  40. <body>
  41. <h2 align=”center”>Ubah Data Mahasiswa</h2>
  42. <form action=”” method=”POST” enctype=”multipart/form-data”>
  43. <table border=”0″ width=”50%” align=”center”>
  44.     <tr>
  45.         <td>Nomor Induk Mahasiswa</td>
  46.         <td><?php echo $z[‘nim’]; ?></td>
  47.     </tr>
  48.     <tr>
  49.         <td>Nama Mahasiswa</td>
  50.         <td><input type=”text” name=”nama” size=”30″ value=”<?php echo $z[‘nama’]; ?>”></td>
  51.     </tr>
  52.     <tr>
  53.         <td>Program Studi</td>
  54.         <td><select name=”kdprodi”>
  55.         <?php
  56.         $j=mysqli_query($koneksi,”select * from prodi”);
  57.         while($k=mysqli_fetch_array($j)){
  58.         $pilih=($k[‘kdprodi’]==$z[‘kdprodi’]?”selected”:””);
  59.         echo “<option value=’$k[kdprodi]’ $pilih>$k[nama_prodi]</option>”;
  60.         }
  61.         ?>
  62.         </select></td>
  63.     </tr>
  64.     <tr>
  65.         <td>Semester</td>
  66.         <td>
  67.         <select name=”semester”>
  68.             <option value=”1″ <?php if($z[‘semester’]==”1″){ echo “selected”; }?>>1</option>
  69.             <option value=”2″ <?php if($z[‘semester’]==”2″){ echo “selected”; }?>>2</option>
  70.             <option value=”3″ <?php if($z[‘semester’]==”3″){ echo “selected”; }?>>3</option>
  71.             <option value=”4″ <?php if($z[‘semester’]==”4″){ echo “selected”; }?>>4</option>
  72.             <option value=”5″ <?php if($z[‘semester’]==”5″){ echo “selected”; }?>>5</option>
  73.             <option value=”6″ <?php if($z[‘semester’]==”6″){ echo “selected”; }?>>6</option>
  74.         </select>
  75.         </td>
  76.     </tr>
  77.     <tr>
  78.         <td>Jenis Kelamin</td>
  79.         <td><input type=”radio” name=”jk” value=”L” <?php if($z[‘jk’]==”L”){ echo “checked”; }?>>Laki-Laki
  80.         <input type=”radio” name=”jk” value=”P” <?php if($z[‘jk’]==”P”){ echo “checked”; }?>>Perempuan
  81.         </td>
  82.     </tr>
  83.     <tr>
  84.         <td>Alamat</td>
  85.         <td><textarea name=”alamat” cols=”30″ rows=”4″><?php echo $z[‘alamat’]; ?></textarea>
  86.         </td>
  87.     </tr>
  88.     <tr>
  89.         <td>&nbsp;</td>
  90.         <td><img src=”images/<?php echo $z[‘foto’]; ?>” width=”100″ height=”130″></td>
  91.     </tr>
  92.     <tr>
  93.         <td>Foto</td>
  94.         <td><input type=”file” name=”foto”></td>
  95.     </tr>
  96.     <tr>
  97.         <td>&nbsp;</td>
  98.         <td><input type=”submit” name=”ubah” value=”UBAH”>
  99.         </td>
  100.     </tr>
  101. </table>
  102. </form>
  103. </body>
  104. </html>

Sama halnya dengan coding tambah, disini juga hanya ada combobox dinamis, tetapi disana ada tambahan baris berisi variabel $pilih, maksudnya adalah yang akan diubah tampil di combobox paling atas.

Sekarang buat coding hapus data dengan nama file : hapusmhs.php

  1. <?php
  2. include “koneksi.php”;
  3. //buat query input
  4. $a=”delete from mahasiswa where nim=’$_GET[nim]'”;
  5. $b=mysqli_query($koneksi,$a);
  6.     if($b){
  7.     header(“location:tampil-mhs.php”);
  8.     }else{
  9.     echo “Data gagal dihapus”;
  10.     }
  11. ?>

Terakhir untuk menampilkan detail setiap mahasiswa, silahkan buat filenya dengan nama : detailmhs.php

  1. textpop-up
  2. <?php
  3. include “koneksi.php”;
  4. //menampilkan data
  5. $x=”select * from prodi,mahasiswa where
  6. prodi.kdprodi=mahasiswa.kdprodi and mahasiswa.nim=’$_GET[nim]'”;
  7. $y=mysqli_query($koneksi,$x);
  8. $z=mysqli_fetch_array($y);
  9. ?>
  10. <html>
  11. <head>
  12. <title>Ubah data mahasiswa</title>
  13. <style type=”text/css”>
  14. <!–
  15. .style1 {
  16.     color: #000099;
  17.     font-weight: bold;
  18. }
  19. –>
  20. </style>
  21. </head>
  22. <body>
  23. <h2 align=”center”>Tampil Biodata Mahasiswa</h2>
  24. <table border=”0″ width=”50%” align=”center”>
  25.     <tr>
  26.       <td width=”31%” rowspan=”8″><img src=”images/<?php echo $z[‘foto’]; ?>” alt=”” width=”150″ height=”180″></td>
  27.         <td width=”30%”>Nomor Induk Mahasiswa</td>
  28.         <td width=”39%”><span class=”style1″><?php echo $z[‘nim’]; ?></span></td>
  29.     </tr>
  30.     <tr>
  31.       <td>Nama Mahasiswa</td>
  32.         <td><span class=”style1″><?php echo $z[‘nama’]; ?></span></td>
  33.     </tr>
  34.     <tr>
  35.       <td>Program Studi</td>
  36.         <td><span class=”style1″><?php echo $z[‘nama_prodi’]; ?></span></td>
  37.     </tr>
  38.     <tr>
  39.       <td>Semester</td>
  40.         <td>
  41.           <span class=”style1″><?php echo $z[‘semester’]; ?></span></td>
  42.     </tr>
  43.     <tr>
  44.       <td>Jenis Kelamin</td>
  45.         <td><span class=”style1″><?php echo $z[‘jk’]; ?></span></td>
  46.     </tr>
  47.     <tr>
  48.       <td>Alamat</td>
  49.         <td><span class=”style1″><?php echo $z[‘alamat’]; ?></span></td>
  50.     </tr>
  51. </table>
  52. </body>
  53. </html>

Nah mungkin itu saja yang bisa saya sampaikan pada malam ini, semoga post kali ini tentang Cara Membuat Script Untuk Pemrograman PHP dengan MySql, semoga dapat berguna dan bermanfaatuntuk kita semua, mohon maaf apabila ada sedikit kesalahan ataupun banyak, karena saya sendiri masih belajar, namun apa salahnya sedikit berbagi pengalaman yang kita punya ??

Baca juga: Cara Mudah Membuat Halaman Dinamis Menggunakan PHP !!
sekian dan terimakasih sampai jumpa pada post selanjutnya sob,.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Comment moderation is enabled. Your comment may take some time to appear.