Membuat aplikasi data mahasiswa dengan PHP - Bagian 3
Proses tahap awal dari membuat database, tabel, membuat formulir input data mahasiswa, proses simpan dan upload photo mahasiswa sudah dilakukan pada artikel Membuat aplikasi data mahasiswa dengan PHP - Bagian 1 dan Bagian 2, sekarang membuat laporan hasil input data mahasiswa. Laporan ini akan dibuat menghubungkan kebeberapa bagian yaitu pencarian data mahasiswa, delete/menghapus data mahasiswa dan mengupdate data mahasiswa. Silahkan menyimak tahapan lanjutan berikut ini.
Membuat laporan data mahasiswa
Laporan akan saya buat dengan susunan tabel yang menampilkan seluruh data mahasiswa.
Silahkan lihat kode berikut ini :
<?php include "koneksi.php"; ?> <html> <head> <title>Laporan Data Mahasiswa</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <h2 align="center">Data Mahasiswa</h2> <form action="" method="get" name="FCari" id="FCari"> Cari NIM/Nama <input name="txtcari" type="text" id="txtcari" size="20" maxlength="30" value="<?php echo $_GET['txtcari']?>"> <input type="submit" name="Submit" value="Cari"> </form> <form name="FLaporan" method="post" action="delete-banyak.php" onSubmit="return confirm('Hapus data terpilih?')"> <table width="100%" border="1" align="center" cellpadding="3" cellspacing="0"> <tr> <td align="center"> </td> <td>NIM</td> <td>Nama</td> <td>Tempat Lahir</td> <td align="center">Tanggal Lahir</td> <td align="center">Jenis Kelamin</td> <td>Alamat</td> <td align="center">Photo</td> <td align="center">Koreksi</td> <td align="center">Hapus</td> </tr> <?php if(!empty($_GET['txtcari'])) { $myquery="select nim,nama,tempat_lahir, DATE_FORMAT(tanggal_lahir, '%d-%m-%Y') as tanggal_lahir, jenis_kelamin,alamat, photo from tb_mahasiswa where nim='".$_GET['txtcari']."' or nama LIKE '%".$_GET['txtcari']."%'"; } else { $myquery="select nim,nama,tempat_lahir, DATE_FORMAT(tanggal_lahir, '%d-%m-%Y') as tanggal_lahir, jenis_kelamin,alamat, photo from tb_mahasiswa"; } $daftarsiswa=mysql_query($myquery) or die (mysql_error()); while($dataku=mysql_fetch_object($daftarsiswa)) { ?> <tr> <td align="center"> <input type="checkbox" name="item[]" id="item[]" value="<?php echo $dataku->nim?>" /></td> <td><?php echo $dataku->nim?></td> <td><?php echo $dataku->nama?></td> <td><?php echo $dataku->tempat_lahir?></td> <td align="center"><?php echo $dataku->tanggal_lahir?></td> <td align="center"><?php echo $dataku->jenis_kelamin?></td> <td><?php echo $dataku->alamat?></td> <td align="center"><img src="<?php echo $dataku->photo?>" alt="<?php echo $dataku->nama?>" width="50" /></td> <td align="center"><a href="koreksi-data-mahasiswa.php?nim=<?php echo $dataku->nim?>">Koreksi</a></td> <td align="center"><a href="hapus-data-mahasiswa.php?nim=<?php echo $dataku->nim?>">Hapus</a></td> </tr> <? } ?> </table> <input name="btnHapus" type="submit" value="Delete"> <p align="center"><a href="index.php">Menu Utama </a></p> </form> </body> </html>
Tampilan Laporan Aplikasi Data Mahasiswa
Kemudian saya simpan dengan nama file laporan-data-mahasiswa.php, jika panggil melalui menu utama maka hasilnya akan seperti berikut :
untuk sementara yang bisa digunakan hanya faslitas pencarian, anda bisa coba.
Secara logika, pencarian dilakukan apabila text pencarian dengan nama txtCari diisi dan dikirim, sehingg halaman laporan menerima melalui metode GET dan mencari berdasar nim atau nama.
Download halaman laporan data mahasiswa
Membuat halaman delete / hapus satu baris data aplikasi data mahasiswa
Jika anda lihat dibagian kolom laporan ada sebuah kolom dengan judul hapus, tulisan hapus pada tiap baris digunakan untuk mengahpus baris yang sesuai, mekanismenya, link hapus membawa nilai dengan kunci nim ke halaman hapus. Sekarang saya akan membuat halaman hapus untuk menerima kiriman dari link hapus. Lihat kode berikut :
<?php include "koneksi.php"; $nim = $_GET['nim']; $res = mysql_query("select photo from tb_mahasiswa where nim='".$_GET['nim']."' LIMIT 1"); $d=mysql_fetch_object($res); if (strlen($d->photo)>3) { if (file_exists($d->photo)) unlink($d->photo); } $myquery = "delete from tb_mahasiswa where nim ='$nim' limit 1"; $hapus = mysql_query($myquery) or die ("gagal menghapus"); header ("location:laporan-data-mahasiswa.php"); ?>
Disini antara hapus satu baris saya bedakan filenya, agar lebih mudah difahami. Sebenarnya bisa digabung dengan mendeteksi bentuk kiriman parameter nilainya, nanti jika diperlukan akan saya bahas kembali.
Proses penghapusan data dalam file hapus-data-mahasiswa.php dilakukan dengan menghapus sekaligus file gambar yang sudah dimasukkan. Sebelum menghapus juga ada pengecekan status photo jika ada isinya dan jika ada filenya maka dilakukan hapus gambar.
Download file delete data mahasiswa
Membuat halaman delete / hapus banyak baris aplikasi data mahasiswa
Bagian ini adalah halaman yang akan menangani proses jika baris data dipilih dan tombol delete ditekan. Fungsinya adalah menghapus semua data yang sudah terpilih. Dibagian laporan, saya sudah buatkan checkbox yang masing-masing sudah diberi nilai dalam susunan array input. Lihat kode baris ini pada bagian kode laporan.
<input type="checkbox" name="item[]" id="item[]" value="<?php echo $dataku->nim?>" />
Setiap perulangan baris maka masing-masing item[] akan diberi nilai sesuai nim yang sedang diambil dalam tabel. Kemudian semua array akan dikirim ke halaman delete-banyak.php sesuai dengan action form yang ada sebelum tabel. Berikut kode untuk mengambil nilai dari array pilihan yang dihapus :
<?php include "koneksi.php"; $jumlah = count($_POST["item"]); for($i=0; $i < $jumlah; $i++) { $nim=$_POST["item"][$i]; $res = mysql_query("select photo from tb_mahasiswa where nim='$nim' LIMIT 1"); $d=mysql_fetch_object($res); if (strlen($d->photo)>3) { if (file_exists($d->photo)) unlink($d->photo); } $myquery = "delete from tb_mahasiswa where nim ='$nim' limit 1"; $hapus = mysql_query($myquery) or die ("gagal menghapus"); } header ("location:laporan-data-mahasiswa.php"); ?>
Semua array akan dihitung dan dilakukan perulangan untuk menghapus photo serta recordnya.
Download file hapus banyak data mahasiswa
Setelah ini saya akan tulis lagi bagian 4, lanjutan tentang mengupdate data yang sudah masuk tabel database.
Semoga Bermanfaat, kritik saran, koreksi, pertanyaan jangan sungkan anda sampaikan. Silahkan berbagi buat yang lain jika ini menurut anda baik.
Zainal Hakim
Revisi Script : 08 Januari 2014
Baca juga Tutorial Membuat aplikasi data mahasiswa dengan PHP - Bagian 1 - Bagian 2 - Bagian 3 - Bagian 4 - Bagian 5 - Bagian 6
** Bebas disunting dengan menyebutkan sumber **