P - 13 Bab 10 : PHP MySQL Lanjut (Studi Kasus) 10.1 Tujuan Mahasiswa mampu : Mengetahui dan Memahami Integrasi PHP dengan MySQL Mengetahui dan Memahami Relasi Dengan phpmyadmin Designer Mengetahui dan Memahami Operasi Input, Edit, Delete MySQL Dengan Melibatkan Relasi Antar Table Dengan PHP 10.2 Materi 1. SQL 2. phpmyadmin Designer 3. Studi Kasus Identitas dan Provinsi 10.3 SQL Terlebih dahulu buat database Prak dan table Provinsi dan table Identitas dengan struktur sebagai berikut : Relasi Antar Table : Table T_Provinsi : PSIK V (Pemrograman II/ PHP MySQL) - 1
Create Table `T_Provinsi`( `Id_Provinsi` int(5) Not Null Primary Key Auto_Increment, `Provinsi` varchar(50) Not Null, `Kota` varchar(50) Not Null); Table T_Provinsi : Create Table `T_Identitas`( `Id_Identitas` char(12) Not Null Primary Key, `Name` varchar(40) Not Null, `Gender` enum('m','f') Not Null, `Place` varchar(40) Not Null, `Brithday` date Not Null, `Address` varchar(50) Not Null, `Id_Provinsi` int(5) References`T_Provinsi`(`Id_Provinsi`), `About` text); Selanjutnya isi table Provinsi dengan data berikut : PSIK V (Pemrograman II/ PHP MySQL) - 2
Selanjutnya isi table Identitas dengan data berikut : Relasi Database dengan phpmyadmin Designer PSIK V (Pemrograman II/ PHP MySQL) - 3
PSIK V (Pemrograman II/ PHP MySQL) - 4
10.4 Studi Kasus Koneksi * Koneksi.php $host ="localhost"; $user = "root"; $password = ""; $db_name = "Prak"; $connect = mysql_connect($host,$user,$password); if (!$connect) { echo " Tidak Connect...!!!"; } mysql_select_db($db_name) or die ("Database Tidak Ada...!!!"); T_Provinsi Menampilkan data T_Provinsi * Tampil_Provinsi.php PSIK V (Pemrograman II/ PHP MySQL) - 5
<HTML> <HEAD><TITLE>PROVINSI</TITLE></HEAD> <BODY> echo "<DIV ALIGN='CENTER'><B>Provinsi</B><BR /><BR /></DIV> <TABLE BORDER='1' ALIGN='CENTER'> <TH>No</TH> <TH>Id_Provinsi</TH> <TH>Provinsi</TH> <TH>Kota</TH> <TH>Operation</TH> "; $view=mysql_query("select * FROM `T_Provinsi` ORDER BY `Id_Provinsi`"); $no=1; while ($sq=mysql_fetch_array($view)) { echo " <TD>$no</TD> <TD>$sq[Id_Provinsi]</TD> <TD>$sq[Provinsi]</TD> <TD>$sq[Kota]</TD> <TD> <A HREF=Edit_Provinsi.php?Id=$sq[Id_Provinsi]>Edit</a> <A HREF=Hapus_Provinsi.php?Id=$sq[Id_Provinsi]>Delete</a> </TD> "; $no++; } echo "</TABLE><BR />"; echo "<FORM METHOD='POST' ACTION='Form_Provinsi.php'> <DIV ALIGN='CENTER'> <INPUT TYPE='SUBMIT' VALUE='Add Provinsi'> </DIV> </FORM>"; $jml = mysql_num_rows($view); echo "<P>Jumlah Data : <B>$jml</B> Data </P>"; PSIK V (Pemrograman II/ PHP MySQL) - 6
</BODY> </HTML> Output : Input data T_Provinsi File 1 : * Form_Provinsi.php <HTML> <HEAD><TITLE>PROVINSI</TITLE></HEAD> <BODY> echo "<DIV ALIGN='CENTER'><B>ADD PROVINSI</B><BR /></DIV> <FORM METHOD='POST' ACTION='Input_Provinsi.php'> <TABLE STYLE='WIDTH: 350px;' ALIGN='CENTER'> <TD>Provinsi</TD> PSIK V (Pemrograman II/ PHP MySQL) - 7
<TD><INPUT TYPE='TEXT' NAME='Provinsi'></TD> <TD>Ibu Kota</TD> <TD><INPUT TYPE='TEXT' NAME='Kota'></TD> <TD COLSPAN='3'></TD> <TD COLSPAN='3' ALIGN='CENTER'> <INPUT TYPE='SUBMIT' VALUE='Save'> <INPUT TYPE='BUTTON' VALUE='Cancel' onclick=self.history.back()></td> </TABLE> </FORM>"; </BODY> </HTML> File 2 : * Input_Provinsi.php <HTML> <HEAD><TITLE>PROVINSI</TITLE></HEAD> <BODY> mysql_query("insert INTO `T_Provinsi` (`Provinsi`,`Kota`) VALUES ('$_POST[Provinsi]','$_POST[Kota]')"); header ('LOCATION:Tampil_Provinsi.php'); PSIK V (Pemrograman II/ PHP MySQL) - 8
</BODY> </HTML> Output : Edit data T_Provinsi File 1 : * Edit_Provinsi.php <HTML> <HEAD><TITLE>PROVINSI</TITLE></HEAD> <BODY> $edit = mysql_query("select * FROM `T_Provinsi` WHERE `Id_Provinsi`='$_GET[Id]'"); $sq = mysql_fetch_array($edit); echo "<DIV ALIGN='CENTER'><B>EDIT PROVINSI</B></DIVv> <FORM METHOD='POST' ACTION='Update_Provinsi.php'> <INPUT TYPE='HIDDEN' NAME='Id' VALUE='$sq[Id_Provinsi]'> <TABLE WIDTH='80%' ALIGN='CENTER'> PSIK V (Pemrograman II/ PHP MySQL) - 9
<TD>Provinsi</TD> <TD> : <INPUT TYPE='TEXT' NAME='Provinsi' VALUE='$sq[Provinsi]'></TD> <TD>Kota</TD> <TD> : <INPUT TYPE='TEXT' NAME='Kota' VALUE='$sq[Kota]'></TD> <TD COLSPAN='2'> <INPUT TYPE='SUBMIT' VALUE='Update'> <INPUT TYPE='BUTTON' VALUE='Cancel' onclick=self.history.back()> </TD> </TABLE> </FORM>"; </BODY> </HTML> File 2 : * Update_Provinsi.php mysql_query("update `T_Provinsi` SET `Provinsi` = '$_POST[Provinsi]', `Kota` = '$_POST[Kota]' WHERE `Id_Provinsi` = '$_POST[Id]'"); header('location:tampil_provinsi.php'); Output : PSIK V (Pemrograman II/ PHP MySQL) - 10
Hapus data T_Provinsi * Hapus_Provinsi.php mysql_query("delete FROM `T_Provinsi` WHERE `Id_Provinsi`='$_GET[Id]'"); header('location:tampil_provinsi.php'); T_Identitas Menampilkan data T_Identitas * Tampil_Identitas.php <HTML> <HEAD><TITLE>IDENTITAS</TITLE></HEAD> <BODY> echo "<DIV ALIGN='CENTER'><B>Identitas</B><BR /><BR /></DIV> PSIK V (Pemrograman II/ PHP MySQL) - 11
<TABLE BORDER='1' ALIGN='CENTER'> <TH>No</TH> <TH>Id_Identitas</TH> <TH>Name</TH> <TH>Gender</TH> <TH>Place</TH> <TH>Brithday</TH> <TH>Address</TH> <TH>Provinsi</TH> <TH>About</TH> <TH>Operation</TH> "; $view=mysql_query("select `Id_Identitas`,`Name`,`Gender`,`Place`,`Brithday`, `Address`,`T_Provinsi`.`Provinsi`,`About` FROM `T_Identitas`,`T_Provinsi` WHERE `T_Identitas`.`Id_provinsi`=`T_Provinsi`.`Id_Provinsi` ORDER BY `Id_Identitas`"); $no=1; while($sq=mysql_fetch_array($view)) { echo " <TD>$no</TD> <TD>$sq[Id_Identitas]</TD> <TD>$sq[Name]</TD> <TD>$sq[Gender]</TD> <TD>$sq[Place]</TD> <TD>$sq[Brithday]</TD> <TD>$sq[Address]</TD> <TD>$sq[Provinsi]</TD> <TD>$sq[About]</TD> <TD> <A HREF=Edit_Identitas.php? Id=$sq[Id_Identitas]>Edit</a> <A HREF=Hapus_Identitas.php? Id=$sq[Id_Identitas]>Delete</a> </TD> "; $no++; } echo "</TABLE><BR />"; PSIK V (Pemrograman II/ PHP MySQL) - 12
echo "<FORM METHOD='POST' ACTION='Form_Identitas.php'> <DIV ALIGN='CENTER'> <INPUT TYPE='SUBMIT' VALUE='Add Identitas'> </DIV> </FORM>"; $jml = mysql_num_rows($view); echo "<P>Jumlah Data : <B>$jml</B> Data </P>"; </BODY> </HTML> Output : Input data T_Identitas File 1 : * Form_Identitas.php PSIK V (Pemrograman II/ PHP MySQL) - 13
<HTML> <HEAD><TITLE>IDENTITAS</TITLE></HEAD> <BODY> echo "<DIV ALIGN='CENTER'><B>Add Identitas</B><BR /></DIV> <FORM METHOD='POST' ACTION='Input_Identitas.php'> <TABLE STYLE='WIDTH: 350px;' ALIGN='CENTER'> <TD>Id_Identitas</TD> <TD><INPUT TYPE='TEXT' NAME='Id_Identitas'></TD> <TD>Name</TD> <TD><INPUT TYPE='TEXT' NAME='Name'></TD> <TD>Gender</TD> <TD> <INPUT NAME='Gender' TYPE='RADIO' VALUE='M' CHECKED> MALE <INPUT NAME='Gender' TYPE='RADIO' VALUE='F'> FEMALE </TD> <TD>Place</TD> <TD><INPUT TYPE='TEXT' NAME='Place'></TD> <TD>Brithday</TD> <TD><INPUT TYPE='TEXT' NAME='Brithday'></TD> <TD>Address</TD> <TD><INPUT TYPE='TEXT' NAME='Address'></TD> <TD>Provinsi</TD> <TD WIDTH='66%'> <SELECT NAME='Id_Provinsi'> <OPTION VALUE='0' SELECTED> *** Provinsi *** </OPTION> "; $prov = mysql_query("select * FROM `T_Provinsi` PSIK V (Pemrograman II/ PHP MySQL) - 14
ORDER BY `Id_Provinsi`"); while($data=mysql_fetch_array($prov)) { echo "<OPTION VALUE='$data[Id_Provinsi]'> '$data[provinsi]'</option>"; } echo "</SELECT> <TD>About</TD> <TD><INPUT TYPE='TEXT' NAME='About'></TD> <TD COLSPAN='3'></TD> <TD COLSPAN='3' ALIGN='CENTER'> <INPUT TYPE='SUBMIT' VALUE='Save'> <INPUT TYPE='BUTTON' VALUE='Cancel' onclick=self.history.back()></td> </TABLE> </FORM>"; </BODY> </HTML> File 2 : * Input_Identitas.php <HTML> <HEAD><TITLE>IDENTITAS</TITLE></HEAD> <BODY> mysql_query("insert INTO `T_Identitas` PSIK V (Pemrograman II/ PHP MySQL) - 15
(`Id_Identitas`,`Name`,`Gender`,`Place`,`Brithday`,`Address`, `Id_Provinsi`,`About`) VALUES ('$_POST[Id_Identitas]','$_POST[Name]','$_POST[Gender]', '$_POST[Place]','$_POST[Brithday]','$_POST[Address]', '$_POST[Id_Provinsi]','$_POST[About]')"); header ('LOCATION:Tampil_Identitas.php'); </BODY> </HTML> Output : Edit data T_Identitas File 1 : * Edit_Identitas.php include "../Koneksi/Koneksi.php"; PSIK V (Pemrograman II/ PHP MySQL) - 16
<HTML> <HEAD><TITLE>IDENTITAS</TITLE></HEAD> <BODY> $edit = mysql_query("select `Id_Identitas`,`Name`,`Gender`,`Place`,`Brithday`, `Address`,`Id_Provinsi`,`About` FROM `T_Identitas` WHERE `Id_Identitas`='$_GET[Id]'"); $sq = mysql_fetch_array($edit); echo "<DIV ALIGN='CENTER'><B>Edit Identitas</B><BR /></DIV> <FORM METHOD='POST' ACTION='Update_Identitas.php'> <INPUT TYPE='HIDDEN' NAME='Id' VALUE='$sq[Id_Identitas]'> <TABLE WIDTH='80%' ALIGN='CENTER'> <TD>Id_Identitas</TD> <TD> <INPUT TYPE='TEXT' NAME='Id_Identitas' VALUE='$sq[Id_Identitas]'> </TD> <TD>Name</TD> <TD><INPUT TYPE='TEXT' NAME='Name' VALUE='$sq[Name]'></TD> <TD>Gender</TD> <TD> <INPUT NAME='Gender' TYPE='RADIO' VALUE='M' CHECKED> MALE <INPUT NAME='Gender' TYPE='RADIO' VALUE='F'> FEMALE </TD> <TD>Place</TD> <TD><INPUT TYPE='TEXT' NAME='Place' VALUE='$sq[Place]'></TD> <TD>Brithday</TD> PSIK V (Pemrograman II/ PHP MySQL) - 17
<TD> <INPUT TYPE='TEXT' NAME='Brithday' VALUE='$sq[Brithday]'> </TD> <TD>Address</TD> <TD> <INPUT TYPE='TEXT' NAME='Address' VALUE='$sq[Address]'> </TD> <TD>Provinsi</TD> <TD WIDTH='66%'> <SELECT NAME='Id_Provinsi'> <OPTION VALUE='0' SELECTED> *** Provinsi *** </OPTION> "; $prov = mysql_query("select * FROM `T_Provinsi` ORDER BY `Id_Provinsi`"); while($data=mysql_fetch_array($prov)) { if ($sq[id_provinsi]==$data[id_provinsi]) { echo " <OPTION VALUE='$data[Id_Provinsi]' SELECTED> '$data[provinsi]'</option>"; } else { echo " <OPTION VALUE='$data[Id_Provinsi]'> '$data[provinsi]'</option>"; } } echo "</SELECT> <TD>About</TD> <TD><INPUT TYPE='TEXT' NAME='About' VALUE='$sq[About]'> </TD> PSIK V (Pemrograman II/ PHP MySQL) - 18
<TD COLSPAN='3'></TD> <TD COLSPAN='3' ALIGN='CENTER'> <INPUT TYPE='SUBMIT' VALUE='Update'> <INPUT TYPE='BUTTON' VALUE='Cancel' onclick=self.history.back()></td> </TABLE> </FORM>"; </BODY> </HTML> File 2 : * Update_Identitas.php if (empty($_post[id_provinsi])) { mysql_query("update `T_Identitas` SET `Id_Identitas`='$_POST[Id_Identitas]', `Name`='$_POST[Name]', `Gender`='$_POST[Gender]', `Place`='$_POST[Place]', `Brithday`='$_POST[Brithday]', `Address`='$_POST[Address]', `About`='$_POST[About]' WHERE `Id_Identitas`='$_POST[Id]'"); } else { mysql_query("update `T_Identitas` SET `Id_Identitas`='$_POST[Id_Identitas]', `Name`='$_POST[Name]', `Gender`='$_POST[Gender]', `Place`='$_POST[Place]', `Brithday`='$_POST[Brithday]', PSIK V (Pemrograman II/ PHP MySQL) - 19
} `Address`='$_POST[Address]', `Id_Provinsi`='$_POST[Id_Provinsi]', `About`='$_POST[About]' WHERE `Id_Identitas`='$_POST[Id]'"); header('location:tampil_identitas.php'); Output : Hapus data T_Identitas * Hapus_Identitas.php mysql_query("delete FROM `T_Identitas` WHERE `Id_Identitas`='$_GET[Id]'"); header('location:tampil_identitas.php'); PSIK V (Pemrograman II/ PHP MySQL) - 20