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>

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 :

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

Artikel Lainnya

  • Membuat function di php
    Function adalah kumpulan baris program yang digunakan untuk melakukan proses tertentu dengan tujuan yang sama. Function akan mengembalikan nilai atau hasil yang sudah diproses kepada rutin atau variabel yang menggunakannya. Function dibuat agar program utama dapat ditulis lebih sederhana dan pengulangan proses dapat dilakukan dengan lebih mudah. Dalam php terdapat tiga jenis function yang bisa dijalankan yaitu User-defined, internal dan anonymous functions. Pada artikel berikut saya akan menjelaskan tentang bagaimana membuat function sediri (User Defined) dalam php.
  • Cara Installasi PHP di lingkungan windows
    PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server side. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja.
  • Perbedaan session dan cookies dalam php
    Dalam php kita mengenal session dan cookies yang digunakan untuk menyimpan informasi pengguna. Secara umum memang sulit dibedakan karena dari segi fungsinya bisa dikatakan sama. Artikel berikut akan membantu anda membedakanya dari berbagai sisi implementasinya.
  • Perintah include dan require dalam php
    Perintah require() dan include() dalam php digunakan untuk menyisipkan isi file tertentu menjadi bagian file yang memanggilnya. Keduanya sangat identik dalam banyak hal, kecuali cara penanganan kegagalan. include() menghasilkan suatu peringatan, sedangkan require() menghasilkan pesan kesalahan Fatal Error.
  • Membaca file dengan php
    Dengan php kita bisa melakukan operasi terhadap file yang berada dalam server. Operasi file yang bisa dilakukan diantaranya adalah membaca file.

Kiriman terbaru