Membuat aplikasi data mahasiswa dengan PHP - Bagian 3

form/formulir input data mahasiswaProses 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">&nbsp;</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>

Kemudian saya simpan dengan nama file laporan-data-mahasiswa.php, jika panggil melalui menu utama maka hasilnya akan seperti berikut :

laporan data mahasiswa

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

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

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 **

Komentar

Halaman Lainya

  • Masalah seputar upload file dengan php
    Minat terhadap bahasan tentang upload file dengan php kayanya sangat tinggi, ini saya lihat dari banyaknya pengunjung yang datang ke situs saya ini mencari informasi tentang bagaimana membuat form upload, membuat upload ke database dll. Oleh karena itu saya akan berbagi informasi tentang hal yang sering terjadi pada saat membuat fasilitas upload file dengan php, mudahan ini berguna buat teman-teman yang sedang mendalaminya.
  • Membuat koneksi database mysql dengan php
    Berikut ini saya akan berbagi tentang bagaimana membuat koneksi database mysql dengan php. Silahkan simak panduan singkatnya. Cara mudah Membuat koneksi database mysql dengan php
  • Membuat kalender bulan dengan php
    Jika anda membuat aplikasi berbasis web, fitur yang yang sering diandalkan adalah tampilan dan kemudahan membuat laporan. Misal saja dalam aplikasi yang anda buat ada salah satu laporan yang menyajikanya berdasarkan tanggal.
  • Mengubah format tanggal mysql menjadi indonesia dalam php
    Anda mungkin sudah mengetahui kalau format tanggal yang disimpan dalam database mysql adalah tahun-bulan-tanggal. Pada saat kita menampilkan data tanpa ada perintah perubahan seperti pada tulisan saya sebelumnya tentang mengubah tampilan format tanggal mysql, maka tentunya output ke layar akan tetap sama
  • Membuat pesan error sendiri dengan php
    Pesan error yang sering kita temui di lingkungan pemrograman php sangat beragam tergantung proses apa yang sedang dilakukan. Contoh paling gampang seperti gagalnya melakukan koneksi database, gagalnya menjalankan query, atau salahnya penggunaan sebuah function. Secara mendasar memang semua error akan muncul dilayar tanpa diminta dengan format seadanya (bawaan php). Bagaimana jika kita ingin membuat bentuk tampilan error sendiri?? ini bisa kita lakukan selama yang salah bukan cara penulisan phpnya. Caranya akan saya bahas pada artikel ini.

Kiriman terbaru