maka radiobutton Laki-laki terpilih (checked). Demikian pula
bila jenis kelaminnya adalah Perempuan. Lantas.. bagaimana caranya mewujudkan hal
ini? OK.. caranya adalah dengan memakai 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
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 170
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 memakai 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];
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 171
$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?
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 172
Sekarang yang terakhir, kita buat script untuk updatenya. Tapi… eiiit… wait a minute..
bagaimana bila NIM mahasiswanya yang diubah? Lho.. emangnya ada apa? Mungkin di
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 ini . 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 ini 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>";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 173
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.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 174
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.
Hapus Data dengan PHP - MySQL
Pada modul terakhir ini, kita akan membahas bagaimana cara melakukan hapus data
pada database MySQL dengan PHP.
Konsep utama dari proses penghapusan data MySQL dengan PHP adalah menjalankan
query SQL DELETE FROM … pada script PHP ini .
Untuk lebih jelasnya konsep ini , kita langsung terapkan pada studi kasus.
Sebagai studi kasus, kita ambil sampel seperti halnya pada Bab 19, 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
dan andaikan 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
lalu kita akan membuat script PHP untuk menghapus data mahasiswa, baik
melalui POST maupun GET method.
Studi Kasus 1
Pada studi kasus pertama ini, kita akan membuat script hapus mahasiswa memakai
POST method.
Adapun skenarionya adalah sebagai berikut. User diminta memasukkan NIM mahasiswa
yang akan dihapus melalui sebuah form. lalu script akan menghapus data
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 178
mahasiswa sesuai NIM yang ingin dihapus tadi. Namun… bila NIM yang akan dihapus
tidak ada dalam database, maka akan muncul pesan bahwa data ini tidak ada.
Berikut ini adalah tampilan script yang akan kita buat dalam studi kasus 1 ini
Adapun scriptnya berbentuk seperti di bawah ini:
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'";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 179
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
// jika jumlah mahasiswa ber NIM ini 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.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 180
Berikut ini screen shot tampilan studi kasus 2 (perhatikan link berparameternya yang
tampak di status bar)
Untuk script studi kasus 2 ini adalah sebagai berikut:
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 ini tidak ada, maka muncul keterangan
if ($data['jum'] == 0) echo "<p>Data yang akan dihapus tidak ada</p>";
else
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 181
{
// 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>";
?>





