Wavy Tail

Selasa, 07 Mei 2019

Pengaplikasian Teknik Modularitas, Gimana Tuh??๐Ÿ˜

Halooo!!
Anneyeong Haseo!!
Kembali lagi sama aku sharing2 tentang ngoding. Sebelumnya aku mau ngucapin SELAMAT MENUNAIKAN IBADAH PUASA "MARHABAN YAA RAMADHAN"

Nah disini aku bakal ngelanjutin sharing tentang ngoding setelah sekian lama aku cuma share tentang pendahuluan-pendahuluan materi ngoding๐Ÿ˜†, karena tugas ku banyak banget dan sekalian nyicil2 project ngoding hehe

Kalau belum tau tentang pengertian teknik modularitas, bisa langsung aja di cek PENDAHULUAN "TEKNIK MODULARITAS" di halaman sebelumnya ya gengs.

Disini aku bakal langsung share aja tentang contoh persoalan teknik modularitas, temen-temen. Yok langsung aja!!!

1.     Coba buatlah desain layout sebuah halaman web (tanpa menggunakan tool apapun selain Notepad atau Notepad++) dengan tampilan berikut ini:

Nama Situs Anda


Link       Heading(Judul

Link       Konten)

Link

Konten/isi




copyright



2.  Dengan menggunakan teknik modularitas, coba buat modul config.php, header.php dan footer.php dari hasil soal nomor 1. Modul config.php digunakan untuk mengatur konfigurasi seperti jenis font, ukuran font, warna background dll.


Keterangan:

Untuk bagian “Nama Situs Anda”, “Link” dan “Copyright” bersifat fixed, artinya kelima halaman tersebut memiliki tampilan yang sama. Sehingga dalam hal in bagian yang berubah-ubah untuk setiap halaman hanyalah bagian “Heading dan Konten” saja.

3.    Dari hasil soal nomor 2, buat 5 halaman web berisi konten yang berbeda. Kelima halaman web tersebut harus terintegrasi dengan link yang ada pada bagian link (lihat desain layout dari soal no. 1)

Keterangan : hasil pekerjaan no.1 s/d 3 dijadikan dalam satu script yang sama

4.      Kerjakan kembali tugas No. 2 bab 9 dengan mengintegrasikannya bersama layout yang Anda buat pada soal no. 1 di atas.

Keterangan: hasil pekerjaan no. 4 dijadikan dalam script tersendiri

5.      Kerjakan kembali tugas No. 8 bab 10 dengan mengintegrasikannya bersama layout yang Anda buat pada soal no. 1 di atas.

Keterangan: hasil pekerjaan no. 5 dijadikan dalam script tersendiri

6.  Coba cari dan download lah sebuah layout instant dari internet, disarankan berasal dari http://freecsstemplates.org, buatlah modul header.php dan footer.php. Lalu buatlah 5 halaman web menggunakan layout tersebut dengan teknik modularitas.

Keterangan:

Biasanya desain layout template terdiri dari 4 bagian, yaitu: bagian header (bagian yang terletak di atas konten), footer (bagian yang terletak di bawah konten), sidebar (bagian yang terletak di samping kiri atau kanan konten), dan bagian konten itu sendiri. Nah.. dari keempat bagian, hanya bagian konten saja yang berubah-ubah, sedangkan bagian yang lain adalah fixed.

Jawaban:

Pertama kita harus membuat template untuk dasar tabel modularitasnya

Config.php

<?php
$bgcolor="lightgrey";
$font="arial";
?>
Header.php

<?php
include "Config.php";
?>
<html>
<head>
<title>Table</title>
</head>

<body bgcolor="<?php echo $bgcolor; ?>">
<p><font face="<?php echo $fonthead; ?>">
<table width=100% border=1>

<tr>
<td colspan=2 align=center>Nama Situs Anda</td>
</tr>

Menu.php

<tr>
<td width=20% valign=top>Menu<br>
<a href=link1.php>Menghitung Saldo</a><br>
<a href=link2.php>Perkalian 1x1 s/d 10x10</a><br>
<a href=link3.php>Piramida Bintang</a><br>
<a href=link4.php>Probabilitas X+Y+Z=25</a><br>
<a href=link5.php>Piramida Horizontal</a><br>
</td>
<td>

Footer.php

</td>
</tr>

<tr>
<td colspan=2 align=center>Copyright</td>
</tr>

</body>
</html>

No 1 :




<html>
<head>
<title>Table</title>
</head>

<body>
<table width=100% border=1>
<tr>
<td colspan=2 align=center>Nama Situs Anda</td>
</tr>

<tr>
<td width=20% valign=top>Menu<br>
<a href=link1.php>link 1</a><br>
<a href=link2.php>link 2</a><br>
<a href=link3.php>link 3</a><br>
</td>

<td>
<h1 align=center>Heading(Judul Konten)</h1>
<h1>Konten/isi</h1>
</td>
</tr>

<tr>
<td colspan=2 align=center>Copyright</td>
</tr>

</body>
</html>

           No 2 :



<?php
include "Header.php";
include "Menu.php";
?>

<h1>JUMLAH SALDO</h1>
<form method="POST" action="">
Masukkan Jumlah Saldo <input type="text" name="sal"><br>
Masukkan Jumlah bulan <input type ="text" name="bul"><br>
<input type="submit" value="Hitung">
<input type="reset" value="Reset">
</form>

<?php
$s = $_POST["sal"];
$b = $_POST["bul"];
$x=1;
while ($x<=$b)
{
if($s<1100000)
{
$s = ((0.03*$s)+$s)-9000;
}
else
{
$s = ((0.04*$s)+$s)-9000;
}
$x++;
}
echo "Maka Saldo Anda Adalah Rp. ".round($s,0);
?>

<?php
include "Footer.php"
?>

           No 3 :


<?php
include "Header.php";
include "Menu.php";
?>

<h1>PERKALIAN</h1>

<?php
$a=1;
while($a<=10)
{
$b=1;
while($b<=10)
{
$c=$a*$b;
echo $a."x".$b."=".$c."<br>";
$b++;
}
$a++;
}
include "Footer.php"
?>

           No 4 :


<?php
include "Header.php";
include "Menu.php";
?>

<h1>Piramida Bintang Segitiga</h1>
<form method="POST" action="">
Masukkan Jumlah Bintang <input type="text" name="B"><br>
<input type="submit" value="Eksekusi">
</form>

<?php
$b=$_POST["B"];
$a=1;
while($a<=$b)
{
$c=1;
while($c<=$a)
{
echo "*";
$c++;
}
echo "<br>";
$a++;
}
?>

<?php
include "Footer.php"
?>

           No 5 :



<?php
include "Header.php";
include "Menu.php";
?>

<h1>Prob X + Y + Z = 25</h1>
<?php
$a=1;
while ($a<=25)
{
$b=1;
while($b<=25)
{
$c=1;
while($c<=25)
{
if($a+$b+$c==25)
{
echo "x=".$a.", y=".$b.", z=".$c."<br>";
}
$c++;
}
$b++;
}
$a++;
}
include "Footer.php"
?>

           No 6 :



<?php
include "Header.php";
include "Menu.php";
?>

<h1>Piramida Horizontal</h1>

<form method="POST" action="">

Masukkan Jumlah Bintang <input type="text" name="bin"><br>
<input type="submit" value="Eksekusi"><br><br>

<?php

$b=$_POST["bin"];
$a=1;

while($a<=$b)
{
$c=1;
while($c<=$a)
{
echo "*";
$c++;
}
echo "<br>";
$a++;
}
$a=$a-1;
while($a>=1)
{
$c=$a;
while($c>=1)
{
echo "*";
$c--;
}
echo"<br>";
$a--;
}
include "Footer.php"
?>

Nah jadi gimana temen-temen udah pada paham atau belum nih? Jangan lupa di coba ya gais!! Terus diaplikasikan juga ya, biar ga cepet lupa๐Ÿ˜Š

Sekian dulu dari aku
Sampai jumpa di materi ngoding selanjutnya๐Ÿ‘‹

Minggu, 05 Mei 2019

PENDAHULUAN "Hapus Data MySQL - PHP"

Pada bagian ini saya akan menjelaskan PHP Projekt#16, yaitu Hapus Data dengan PHP - MySQL.

Konsep utama dari proses penghapusan data MySQL dengan PHP adalah menjalankan query SQL DELETE FROM … pada script PHP tersebut.

Untuk lebih jelasnya konsep tersebut, kita langsung terapkan pada studi kasus.
Sebagai studi kasus, kita ambil sampel yaitu tentang data mahasiswa.
Misalkan kita memiliki tabel mahasiswa sebagai berikut:
nim           varchar(5)        primary key
nama        varchar(30)
alamat      text
sex           varchar(1)
tgllahir     date


Studi Kasus 1
Pada studi kasus pertama ini, kita akan membuat script hapus mahasiswa menggunakan POST method.

Adapun skenarionya adalah sebagai berikut. User diminta memasukkan NIM mahasiswa yang  akan  dihapus  melalui  sebuah  form.  Selanjutnya  script  akan  menghapus  data mahasiswa sesuai NIM yang ingin dihapus tadi. Namun, bila NIM yang akan dihapus tidak ada dalam database, maka akan muncul pesan bahwa data tersebut tidak ada.

Berikut ini adalah tampilan script yang akan kita buat dalam studi kasus 1.


hapus01.php

<h1>Hapus Data Mahasiswa</h1>
<!-- Form untuk memasukkan nim mahasiswa yang mau dihapus -->
<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>?proses=hapus">
Masukkan NIM <input type="text" name="nim"> <input type="submit" name="submit" value="Submit">
</form>
<?php
// koneksi ke mysql mysql_connect("localhost", "…", "…"); mysql_select_db("…");
if ($_GET['proses'] == "hapus")
{ // bagian ini akan dijalankan ketika proses SUBMIT dari form
$nim = $_POST['nim'];  // membaca NIM yang dimasukkan dalam form
// mengecek keberadaan data mahasiswa dengan NIM sesuai yang // dimasukkan dalam form
$query = "SELECT count(*) as jum FROM mahasiswa WHERE nim = '$nim'";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);
// jika jumlah mahasiswa ber NIM tersebut tidak ada, maka muncul keterangan
if ($data['jum'] == 0) echo "<p>Data yang akan dihapus tidak ada</p>"; else { // jika ada, maka lakukan penghapusan $query = "DELETE FROM mahasiswa WHERE nim = '$nim'"; $hasil = mysql_query($query); }
}
// menampilkan data semua mahasiswa
$query = "SELECT * FROM mahasiswa";
$hasil = mysql_query($query);
echo "<table border='1'>"; echo "<tr><th>NIM</th><th>Nama Mhs</th><th>Alamat</th><th>Sex</th><th>Tgl Lahir</th></tr>"; while ($data = mysql_fetch_array($hasil))
{
    echo "<tr><td>".$data['nim']."</td><td>".$data['nama']."</td> <td>".$data['alamat']."</td><td>".$data['sex']."</td> <td>".$data['tgllahir']."</td></tr>";
}
echo "</table>"; ?>


Studi Kasus 2
Untuk  studi  kasus  yang  kedua  ini,  kita  akan  lakukan  penghapusan  data  mahasiswa melalui GET method atau melalui link berparameter. Link ini nanti akan diletakkan di setiap baris data mahasiswa.

Bentuk link berparameter yang nanti akan digunakan untuk menghapus data adalah

http://.../hapus02.php?proses=hapus&nim=xxx
dengan ‘xxx’ adalah NIM mahasiswa yang akan dihapusnya.


hapus02.php

<h1>Hapus Data Mahasiswa</h1>
<?php
// koneksi ke mysql mysql_connect("localhost", "…", "…"); mysql_select_db("…");
if ($_GET['proses'] == "hapus")
{ // bagian ini akan dijalankan ketika link hapus diklik (parameter proses=hapus)
// membaca NIM dari URL berparameter $nim = $_GET['nim'];
// mengecek keberadaan data mahasiswa dengan NIM // sesuai yang dimasukkan dalam form $query = "SELECT count(*) as jum FROM mahasiswa WHERE nim = '$nim'"; $hasil = mysql_query($query); $data  = mysql_fetch_array($hasil);
// jika jumlah mahasiswa ber NIM tersebut tidak ada, maka muncul keterangan if ($data['jum'] == 0) echo "<p>Data yang akan dihapus tidak ada</p>"; else {
// jika ada, maka lakukan penghapusan $query = "DELETE FROM mahasiswa WHERE nim = '$nim'"; $hasil = mysql_query($query);
}
}
// menampilkan data semua mahasiswa & link untuk menghapus
$query = "SELECT * FROM mahasiswa"; $hasil = mysql_query($query);
echo "<table border='1'>"; echo "<tr><th>NIM</th><th>Nama Mhs</th><th>Alamat</th><th>Sex</th><th>Tgl Lahir</th><th>Proses</th></tr>"; while ($data = mysql_fetch_array($hasil)) { echo "<tr><td>".$data['nim']."</td><td>".$data['nama']."</td> <td>".$data['alamat']."</td><td>".$data['sex']."</td> <td>".$data['tgllahir']."</td> <td><a href='".$_SERVER['PHP_SELF']."?proses=hapus&nim=".$data['nim']."'> Hapus</a></td></tr>"; } echo "</table>"; ?>

Minggu, 28 April 2019

PENDAHULUAN "Update Data dengan PHP - MySQL"


Proses update suatu data dengan menggunakan script PHP dan MySQL biasanya memiliki mekanisme sebagai berikut:

1.      Tampilkan list data terlebih dahulu

2.      Buat sebuah link pada setiap baris data yang menuju proses update. Link tersebut memuat sebuah parameter yang di dalamnya terdapat value yang nantinya digunakan sebagai acuan dalam proses update datanya.

3.      Selanjutnya bila link tersebut diklik akan muncul form berisi data yang akan diedit.


Dalam melakukan proses update data, pada prinsipnya adalah menjalankan query update pada SQL nya.

UPDATE namaTabel SET namafield = value WHERE …

Baiklah… kita langsung saja mempraktekkan proses update data. Sebagai contoh, kita akan mengupdate data mahasiswa, dimana tabel untuk menyimpan data mahasiswanya berbentuk seperti di bawah ini

nim
varchar(5)
primary key
nama
varchar(30)

alamat
text

sex
varchar(1)

tgllahir
date


Sebagai contoh misalkan kita telah mempunyai data awal sebagai berikut

NIM
NAMA
ALAMAT
SEX
TGLLAHIR
M0001
A
SOLO
L
1979-10-20
M0002
B
JAKARTA
L
1982-09-10
M0003
C
BANDUNG
P
1980-11-07

Catatan: Untuk membuat data awal Anda bisa mengisikannya langsung ke MySQL dengan phpMyAdmin atau membuat script PHP untuk memasukkan datanya.



Sesuai dengan mekanisme di atas, maka langkah pertama kita buat terlebih dahulu script untuk menampilkan list datanya. Dalam script list ini, data akan disajikan dalam bentuk tabel dengan 6 buah kolom. Lima kolom pertama untuk menampilkan data semua fieldnya, sedangkan kolom ke-6 untuk meletakkan link untuk editnya.

list.php

<?php

mysql_connect("localhost", "root", "root");

mysql_select_db("data");

// query SQL untuk memunculkan semua mahasiswa

$query = "SELECT * FROM mhs";

$hasil = mysql_query($query);

echo "<table border='1'>";

echo "<tr><td>NIM</td>

<td>Nama Mahasiswa</td>
<td>Alamat</td>

<td>Sex</td>

<td>Tgl Lahir</td>

<td>Action</td></tr>";
while ($data = mysql_fetch_array($hasil))

{

echo "<tr><td>".$data['nim']."</td>

<td>".$data['nama']."</td>
<td>".$data['alamat']."</td>

<td>".$data['sex']."</td>

<td>".$data['tgllahir']."</td>

<td>Edit</td></tr>";

}

echo "</table>";

?>


Hasil dari script di atas akan menghasilkan tampilan sebagai berikut:
Selanjutnya, bagaimana bentuk link editnya? Link edit misalkan kita buat sebagai berikut




Dalam link edit di atas, link akan diarahkan ke script edit.php yang nantinya akan memunculkan form untuk keperluan edit data. Di dalam link tersebut terdapat parameter nim yang nantinya digunakan sebagai acuan mahasiswa manakah yang datanya akan diedit. Sebagai contoh, misalkan akan diedit mahasiswa bernim ‘M0001 maka linknya akan berbentuk


OK.. sekarang kita modifikasi sedikit script list.php di atas untuk memunculkan link editnya.

list.php

<?php

mysql_connect("localhost", "root", "root");

mysql_select_db("data");

// query SQL untuk memunculkan semua mahasiswa

$query = "SELECT * FROM mhs";

$hasil = mysql_query($query);

echo "<table border='1'>";

echo "<tr><td>NIM</td>
<td>Nama Mahasiswa</td>

<td>Alamat</td>

<td>Sex</td>

<td>Tgl Lahir</td>
<td>Action</td></tr>";

while ($data = mysql_fetch_array($hasil))

{

echo "<tr><td>".$data['nim']."</td>
<td>".$data['nama']."</td>

<td>".$data['alamat']."</td>

<td>".$data['sex']."</td>

<td>".$data['tgllahir']."</td>
<td><a href='edit.php?nim=".$data['nim']."'>Edit</a></td></tr>";

}

echo "</table>";

?>

Langkah selanjutnya kita buat script edit.php yang nantinya akan memunculkan form edit sekaligus data mahasiswa yang akan diedit. Mungkin yang menjadi pertanyaan adalah bagaimana cara memunculkan data mahasiswa yang akan diedit? Ya… jawabnya adalah dengan menggunakan query SELECT dengan nim sebagai syaratnya. Dalam hal in nim yang ada dalam link edit lah yang nantinya akan digunakan sebagai syarat.

SELECT * FROM mhs WHERE nim = …;

OK… berikut ini adalah script edit.php untuk memunculkan form dan data yang akan diedit.


edit.php

<?php

mysql_connect("localhost", "root", "root");

mysql_select_db("data");

$nim = $_GET['nim'];

$query = "SELECT * FROM mhs WHERE nim = '$nim'"; $hasil = mysql_query($query);

$data = mysql_fetch_array($hasil);

echo "<form method='post' action='update.php'>"; echo "<table>";

echo "<tr><td>NIM</td><td>:</td>

<td><input type='text' name='nim' value='".$data['nim']."'></td></tr>"; echo "<tr><td>Nama Mahasiswa</td><td>:</td>

<td><input type='text' name='nama' value='".$data['nama']."'></td></tr>"; echo "<tr><td>Alamat</td><td>:</td>

<td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>"; echo "<tr><td>Sex</td><td>:</td>

<td><input type='radio' name='sex' value='L'> Laki-Laki


<input type='radio' name='sex' value='P'> Perempuan</td></tr>"; echo "<tr><td>Tgl Lahir</td><td>:</td><td>

<select name='tgl'>";

for ($i=1; $i<=31; $i++)
{

echo "<option value='".$i."'>".$i."</option>";

}

echo "</select>

<select name='bln'>";

for ($i=1; $i<=12; $i++)

{

echo "<option value='".$i."'>".$i."</option>";
}

echo "</select>

<select name='thn'>";

for ($i=1980; $i<=1997; $i++)
{

echo "<option value='".$i."'>".$i."</option>";

}

echo "</select>
</td></tr>";

echo "</table>";

echo "<input type='submit' name='submit' value='Submit'>"; echo "</form>";

?>


Catatan:

Untuk keperluan edit data nim, script di atas menggunakan komponen textbox.

Demikian pula edit data nama mahasiswa.

Sedangkan untuk alamat, script di atas menggunakan komponen textarea.

Untuk edit jenis kelamin, kita menggunakan komponen radiobutton

Untuk edit tanggal lahir mahasiswa, kita menggunakan 3 komponen combobox yang masing-masing digunakan untuk tanggal, bulan dan tahun. Option dari masing-masing combobox digenerate otomatis dengan looping FOR.

Hasil tampilan dari script di atas ketika digunakan untuk mengedit data mahasiswa bernim ‘M0001’ adalah

Bila kita perhatikan tampilan script edit di atas, maka untuk edit jenis kelamin masih belum berfungsi. Seharusnya karena data awal mahasiswa bernim ‘M0001’ adalah berjenis kelamin ‘Laki-laki’ maka radiobutton Laki-laki terpilih (checked). Demikian pula bila jenis kelaminnya adalah Perempuan. Lantas.. bagaimana caranya mewujudkan ha ini? OK.. caranya adalah dengan menggunakan konsep IF.

Perhatikan bagian script dari edit.php di bawah ini:

echo "<tr><td>Sex</td><td>:</td>
<td><input type='radio' name='sex' value='L'> Laki-Laki

<input type='radio' name='sex' value='P'> Perempuan</td></tr>";

Nah… kita akan memodifikasi bagian script di atas menjadi seperti di bawah ini:

echo "<tr><td>Sex</td><td>:</td><td>”;

if ($data['sex'] == ”L”)

echo ”<input type='radio' name='sex' value='L' checked> Laki-Laki <input type='radio' name='sex' value='P'> Perempuan”;

else if ($data['sex'] == ”P”)

echo ”<input type='radio' name='sex' value='L'> Laki-Laki

<input type='radio' name='sex' value='P' checked> Perempuan”;

echo "</td></tr>";

Konsep dari ide script modifikasi di atas adalah jika data jenis kelamin mahasiswa adalah laki-laki (L) maka komponen radiobutton laki-laki akan dichecked. Demikian pula jika perempuan.

Setelah bagian script edit jenis kelamin diedit maka hasilnya adalah
Simpel bukan idenya?

OK… next… kita perhatikan bagian edit tanggal lahir. Dalam tampilan script yang telah kita buat di atas, seharusnya tanggal lahir menyesuaikan data tanggal lahir awal sebelum diedit.

Untuk mewujudkan hal ini, pada dasarnya konsep atau idenya sama dengan jenis kelamin di atas yaitu menggunakan IF. Namun… yang menjadi masalah bagaimana caranya memecah tanggal supaya ketiga komponen combobox yang ada dapat membaca tanggal, bulan dan tahun.

OK solusi untuk memecah tanggal, pernah kita bahas sebelumnya yaitu dengan memanfaatkan function explode().

Berikut ini script edit.php yang telah dimodifikasi untuk edit tanggal lahirnya

edit.php

<?php

mysql_connect("localhost", "root", "root");

mysql_select_db("data");

$nim = $_GET['nim'];

$query = "SELECT * FROM mhs WHERE nim = '$nim'"; $hasil = mysql_query($query);

$data = mysql_fetch_array($hasil);

// memecah tanggal lahir ke dalam masing-masing unsur (tgl, bln, thn)

$pecahTgl = explode("-", $data['tgllahir']);

$tgl = $pecahTgl[2];
$bln = $pecahTgl[1];

$thn = $pecahTgl[0];

echo "<form method='post' action='update.php'>"; echo "<table>";

echo "<tr><td>NIM</td><td>:</td>

<td><input type='text' name='nim' value='".$data['nim']."'></td></tr>"; echo "<tr><td>Nama Mahasiswa</td><td>:</td>

<td><input type='text' name='nama' value='".$data['nama']."'></td></tr>"; echo "<tr><td>Alamat</td><td>:</td>

<td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>"; echo "<tr><td>Sex</td><td>:</td>

<td><input type='radio' name='sex' value='L'> Laki-Laki

<input type='radio' name='sex' value='P'> Perempuan</td></tr>"; echo "<tr><td>Tgl Lahir</td><td>:</td><td>

<select name='tgl'>";
for ($i=1; $i<=31; $i++)

{

if ($i == $tgl) echo "<option value='".$i."' selected>".$i."</option>"; else echo "<option value='".$i."'>".$i."</option>";

}

echo "</select>

<select name='bln'>";

for ($i=1; $i<=12; $i++)
{

if ($i == $bln) echo "<option value='".$i."' selected>".$i."</option>"; else echo "<option value='".$i."'>".$i."</option>";

}
echo "</select>

<select name='thn'>";

for ($i=1980; $i<=1997; $i++)

{

if ($i == $thn) echo "<option value='".$i."' selected>".$i."</option>"; else echo "<option value='".$i."'>".$i."</option>";

}

echo "</select>

</td></tr>";

echo "</table>";

echo "<input type='submit' name='submit' value='Submit'>"; echo "</form>";

?>

Nah… mudah dan simpel bukan idenya?
Sekarang yang terakhir, kita buat script untuk updatenya. Tapi… eiiit… wait a minute.. bagaimana bila NIM mahasiswanya yang diubah? Lho.. emangnya ada apa? Mungkin d pikiran Anda konsepnya sama dengan update data yang lain. Iya sih… but… coba kita lihat pemisalannya. Jika data seorang mahasiswa sebelum diubah memiliki NIM ‘M0001’. Kemudian data NIM nya diubah menjadi ‘M0002’. Bagaimana SQL nya? SQL nya adalah sebagai berikut:

UPDATE mhs SET nim = ‘M0002’ WHERE nim = ‘M0001’;

Dari SQL di atas, kita bisa melihat bahwa kita perlu NIM lama mahasiswa guna proses update tersebut. Nah… bila komponen textbox pada form edit untuk update NIM di atas kita ubah isinya, maka dengan kata lain kita akan kehilangan NIM yang lama. Nah… gimana tuh?

OK… ide untuk menanggulangi hal tersebut adalah kita buat komponen hidden input untuk menyimpan NIM yang lama (sebelum diedit). NIM lama ini nantinya kita gunakan sebagai acuan proses updatenya.

Nah.. dengan demikian kita modifikasi kembali script edit.php yang telah kita buat sebelumnya.

edit.php

<?php

mysql_connect("localhost", "root", "root");

mysql_select_db("data");

$nim = $_GET['nim'];

$query = "SELECT * FROM mhs WHERE nim = '$nim'"; $hasil = mysql_query($query);

$data = mysql_fetch_array($hasil);

$pecahTgl = explode("-", $data['tgllahir']);

$tgl = $pecahTgl[2];

$bln = $pecahTgl[1];

$thn = $pecahTgl[0];

echo "<form method='post' action='update.php'>"; echo "<table>";

echo "<tr><td>NIM</td><td>:</td>

<td><input type='text' name='nimBaru' value='".$data['nim']."'></td></tr>";
echo "<tr><td>Nama Mahasiswa</td><td>:</td>

<td><input type='text' name='nama' value='".$data['nama']."'></td></tr>"; echo "<tr><td>Alamat</td><td>:</td>

<td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>"; echo "<tr><td>Sex</td><td>:</td>

<td><input type='radio' name='sex' value='L'> Laki-Laki

<input type='radio' name='sex' value='P'> Perempuan</td></tr>"; echo "<tr><td>Tgl Lahir</td><td>:</td><td>

<select name='tgl'>";

for ($i=1; $i<=31; $i++)

{

if ($i == $tgl) echo "<option value='".$i."' selected>".$i."</option>"; else echo "<option value='".$i."'>".$i."</option>";

}

echo "</select>

<select name='bln'>";
for ($i=1; $i<=12; $i++)

{

if ($i == $bln) echo "<option value='".$i."' selected>".$i."</option>"; else echo "<option value='".$i."'>".$i."</option>";

}

echo "</select>

<select name='thn'>";

for ($i=1980; $i<=1997; $i++)
{

if ($i == $thn) echo "<option value='".$i."' selected>".$i."</option>"; else echo "<option value='".$i."'>".$i."</option>";

}
echo "</select>

</td></tr>";

echo "</table>";

echo "<input type='hidden' name='nimLama' value='".$data[‘nim’]."'>"; echo "<input type='submit' name='submit' value='Submit'>";

echo "</form>";

?>

Catatan:

Letak komponen hidden input ini bisa diletakkan di sebarang tempat di dalam form, mengingat komponen ini tidak terlihat oleh mata

Nah.. dengan demikian kita sekarang bisa konsentrasi ke script updatenya. Konsepnya hanyalah menjalankan query SQL UPDATE.

update.php

<?php

mysql_connect("localhost", "root", "root");

mysql_select_db("data");

$nimLama = $_POST['nimLama'];

$nimBaru = $_POST['nimBaru'];

$nama = $_POST['nama'];

$alamat = $_POST['alamat'];

$sex = $_POST['sex'];

//  menggabung unsur tgl dalam combobox menjadi satu dalam format yyyy-mm-dd $tgllahir = $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl'];

$query = "UPDATE mhs

SET nim = '$nimBaru', nama = '$nama', alamat = '$alamat', sex = '$sex', tgllahir = '$tgllahir'

WHERE nim = '$nimLama'";

$hasil = mysql_query($query);

if ($hasil) echo "Data sudah diupdate";

else echo "Data gagal diupdate";

?>

OK deh selesai proses pembuatan script updatenya.