MEMENUHI TUGAS UAS SEMESTER 2
CRUD BUKU DAN MAHASISWA
Pada kesempatan kali ini saya akan menampilkan dan menjelaskan cara membuat Crud Buku yang mana ini kelanjutan dari Crud Mahasiswa.
- Field tabel buku
- Field tabel mahasiswa
Setelah membuat database dan table, selanjutnya membuat source code koneksi.php
Berikut source code :
<?php
$host="localhost";
$user="root";
$pass="";
$database="phpmyadmin";
$mysqli=new mysqli($host,$user,$pass,$database);
if (mysqli_connect_errno()) {
trigger_error('Koneksi ke database gagal : ' . mysqli_connect_error(), E_USER_ERROR);
}
?>
$host="localhost";
$user="root";
$pass="";
$database="phpmyadmin";
$mysqli=new mysqli($host,$user,$pass,$database);
if (mysqli_connect_errno()) {
trigger_error('Koneksi ke database gagal : ' . mysqli_connect_error(), E_USER_ERROR);
}
?>
~HOME~
- Membuat halaman utama berikut source codenya home { index.php } :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>halaman utama</title>
<!-- Bootstrap Core CSS -->
<link href="../asset/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../asset/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
<link href="../asset/vendor/simple-line-icons/css/simple-line-icons.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../asset/css/stylish-portfolio.min.css" rel="stylesheet">
</head>
<body id="page-top">
<!-- Navigation -->
<a class="menu-toggle rounded" href="#">
<i class="fas fa-bars"></i>
</a>
<nav id="sidebar-wrapper">
<ul class="sidebar-nav">
<li class="sidebar-brand">
<a class="js-scroll-trigger" href="#page-top">NATALIA DJAWANG</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="#">Home</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="../mahasiswa/index.php">Mahasiswa</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="../buku/index.php">Buku</a>
</li>
</ul>
</nav>
<!-- Header -->
<header class="masthead d-flex">
<div class="container text-center my-auto">
<h1 class="mb-1">SELAMAT DATANG</h1>
<h3 class="mb-5">
<em>PERPUSTAKAAN UMUM</em>
</h3>
<a class="btn btn-primary btn-xl js-scroll-trigger" href="#about">CLICK VIDEO</a>
</div>
<div class="overlay"></div>
</header>
<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded js-scroll-trigger" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Bootstrap core JavaScript -->
<script src="../asset/vendor/jquery/jquery.min.js"></script>
<script src="../asset/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="../asset/vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for this template -->
<script src="../asset/js/stylish-portfolio.min.js"></script>
</body>
</html>
Tampilan Home :
~MAHASISWA~
- Tampilan halaman mahasiswa sebelum add data :
- Tampilan halaman tambah data mahasiswa :
- Tampilan halaman mahasiswa setelah di add :
Selain tampilan halaman mahasiswa yang saya cantumkan di atas, ada tampilan lainnya seperti tampilan setelah di edit atau di hapus.
Teman teman bisa coba sendiri.
"Membuat tampilan mahasiswa berikut source codenya : "
* index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Halaman Mahasiswa</title>
<!-- Bootstrap Core CSS -->
<link href="../asset/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../asset/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
<link href="../asset/vendor/simple-line-icons/css/simple-line-icons.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../asset/css/stylish-portfolio.min.css" rel="stylesheet">
</head>
<body id="page-top">
<!-- Navigation -->
<a class="menu-toggle rounded" href="#">
<i class="fas fa-bars"></i>
</a>
<nav id="sidebar-wrapper">
<ul class="sidebar-nav">
<li class="sidebar-brand">
<a class="js-scroll-trigger" href="#page-top">NATALIA DJAWANG</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="../home/index.php">Home</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="#">Mahasiswa</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="../buku/index.php">Buku</a>
</li>
</ul>
</nav>
<!-- Header -->
<header class="masthead d-flex">
<div class="container box">
<?php include "pages.php"; ?>
</div>
</header>
<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded js-scroll-trigger" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Bootstrap core JavaScript -->
<script src="../asset/vendor/jquery/jquery.min.js"></script>
<script src="../asset/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="../asset/vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for this template -->
<script src="../asset/js/stylish-portfolio.min.js"></script>
</body>
</html>
* edit.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
form{
position: relative;
bottom: 10%;
}
.form-group{
color: #FF1493;
font-weight: bold;
}
</style>
</head>
<body>
<?php
$edit=$mysqli->query("SELECT * FROM mahasiswa where id='$_GET[id]'");
$e=mysqli_fetch_array($edit);
?>
<form name="form_mahasiswa" action="index.php?page=update" method="post" enctype="multipart/form-data">
<div class="alert alert-primary" role="alert">
<div class="form-group">
<label for="NIM">NIM</label>
<input type="hidden" name="id" value="<?php echo $e['id']; ?>">
<input type="text" class="form-control" id="nim" placeholder="Input Nomor Induk Mahasiswa" name="nim" required value="<?php echo $e['nim']; ?>">
</div>
<div class="form-group">
<label for="Nama">Nama</label>
<input type="text" class="form-control" id="nama" placeholder="Input Nama" name="nama" required value="<?php echo $e['nama']; ?>">
</div>
<div class="form-group">
<label for="Jurusan">Pilih Jurusan</label>
<select name="jurusan" class="form-control" id="jurusan" required>
<option value="<?php echo $e['jurusan']; ?>"><?php echo $e['jurusan']; ?></option>
<option value="Sistem Informasi">Sistem Informasi</option>
<option value="Teknik Informatika">Teknik Informatika</option>
<option value="Teknik Komputer">Teknik Komputer</option>
<option value="Sistem Informasi Akuntansi">Sistem Informasi Akuntansi</option>
</select>
</div>
<div class="form-group">
<label for="Alamat">Alamat</label>
<textarea class="form-control" id="alamat" placeholder="Alamat" name="alamat" required><?php echo $e['alamat']; ?></textarea>
</div>
<div class="form-group">
<label for="Gambar">Input Foto</label>
<input type="file" class="form-control" id="gambar" name="gambar" required>
<span><?php echo $e['gambar']; ?></span>
</div>
<div class="form-group">
<button type="reset" class="btn btn-danger">Reset</button>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</div>
</form>
</body>
</html>
*read.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="index.php?page=add" class="btn btn-primary" style="margin-bottom: -5px;">TAMBAH DATA <i class="fa fa-plus fa-1x"></i></a>
<br>
<br>
<br>
<table class="table table-striped table-dark">
<thead>
<tr>
<th>#</th>
<th>NIM</th>
<th>Nama Mahasiswa</th>
<th>Jurusan</th>
<th>Alamat</th>
<th>Foto</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$no = 0;
$mahasiswa=$mysqli->query("SELECT * FROM mahasiswa");
while ($m=mysqli_fetch_array($mahasiswa)) {
$no++;
?>
<?php
error_reporting(0);
include "paging.php";
$p = new paging_mahasiswa;
$batas = 5;
$posisi = $p->cariPosisi($batas);
$mahasiswa = $mysqli->query("SELECT * FROM mahasiswa ORDER BY id DESC LIMIT $posisi,$batas");
$no=0;
while ($m=mysqli_fetch_array($mahasiswa)) {
$no++;
?>
<tr>
<th scope="row"><?php echo $no; ?></th>
<td><?php echo $m['nim']; ?></td>
<td><?php echo $m['nama']; ?></td>
<td><?php echo $m['jurusan']; ?></td>
<td><?php echo $m['alamat']; ?></td>
<td> <img src="images/<?php echo $m['gambar']; ?>" height="50"> </td>
<td>
<button type="button" class="btn btn-dark">
<a href="index.php?page=edit&id=<?php echo $m['id']; ?>">Edit <i class="fa fa-pencil"></i> </a>
</button> |
<button type="button" class="btn btn-danger">
<a href="index.php?page=delete&id=<?php echo $m['id']; ?>" onclick="return confirm('Anda yakin mau menghapus data ini ?')">Hapus<i class="fa fa-trash-o"></i></a>
</button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<div class="halaman">
<nav aria-label="...">
<ul class="pagination">
<?php } ?>
<?php
error_reporting(0);
$jmldata = mysqli_num_rows($mysqli->query("SELECT * FROM mahasiswa"));
$jmlhalaman = $p->jumlahHalaman($jmldata, $batas);
$linkHalaman = $p->navHalaman($_GET['home'], $jmlhalaman);
echo " <li class= 'page-item'>$linkHalaman</li> ";
?>
</ul>
</nav>
</div>
</body>
</html>
*update.php
<?php
$gambar = $_FILES['gambar']['name'];
if (empty($gambar)) {
$mysqli->query("UPDATE mahasiswa SET nim = '$_POST[nim]',
nama = '$_POST[nama]',
jurusan = '$_POST[jurusan]',
alamat = '$_POST[alamat]',
WHERE id = '$_POST[id]'");
}else{
$hapus = $mysqli->query("SELECT * FROM mahasiswa WHERE id='$_POST[id]'");
$nama_gambar = mysqli_fetch_array($hapus);
$lokasi = $nama_gambar['gambar'];
$hapus_gambar = "images/$lokasi";
unlink($hapus_gambar);
move_uploaded_file($_FILES['gambar']['tmp_name'],'images/'.$gambar);
$mysqli->query("UPDATE mahasiswa SET nim = '$_POST[nim]',
nama = '$_POST[nama]',
jurusan = '$_POST[jurusan]',
alamat = '$_POST[alamat]',
gambar = '$gambar'
WHERE id = '$_POST[id]'");
}
header('location:index.php');
?>
*paging.php
<?php
class paging_mahasiswa{
function cariPosisi($batas){
if(empty($_GET['home'])){
$posisi=0;
$_GET['home']=1;
}
else{
$posisi = ($_GET['home']-1) * $batas;
}
return $posisi;
}
// Fungsi untuk menghitung total halaman
function jumlahHalaman($jmldata, $batas){
$jmlhalaman = ceil($jmldata/$batas);
return $jmlhalaman;
}
// Fungsi untuk link halaman 1,2,3
function navHalaman($halaman_aktif, $jmlhalaman){
$link_halaman = "<li class='page-item'></li>";
// Link ke halaman pertama (first) dan sebelumnya (prev)
if($halaman_aktif > 1){
$prev = $halaman_aktif-1;
$link_halaman .= "
<li class='page-item'><a class='page-link' href=index.php?home>First</a></li>
<li class='page-item'><a class='page-link' href=index.php?home=$prev> Prev</a></li> ";
}
else{
$link_halaman .= " <li class='page-item disabled'><a class='page-link' href='#' tabindex='-1' aria-label='Previous'> Previous </a></li> ";
}
// Link halaman 1,2,3, ...
$angka = ($halaman_aktif > 3 ? "<li class='page-item'> <span aria-hidden='true'>...</span> " : " </li>");
for ($i=$halaman_aktif-2; $i<$halaman_aktif; $i++){
if ($i < 1)
continue;
$angka .= "<li class='page-item'><a class='page-link' href=index.php?home=$i>$i</a></li> ";
}
$angka .= " <li class='page-item active'> <a class='page-link' href='#'>$halaman_aktif</a> <span class='sr-only'>(current)</span></li> ";
for($i=$halaman_aktif+1; $i<($halaman_aktif+3); $i++){
if($i > $jmlhalaman)
break;
$angka .= "<li class='page-item'><a class='page-link' href=index.php?home=$i>$i</a></li> ";
}
$angka .= ($halaman_aktif+2<$jmlhalaman ? " <li class='page-item'> <span aria-hidden='true'>...</span> <a class='page-link' href=index.php?home=$jmlhalaman> $jmlhalaman</a> " : " </li>");
$link_halaman .= "<li class='page-item'>$angka</li>";
// Link ke halaman berikutnya (Next) dan terakhir (Last)
if($halaman_aktif < $jmlhalaman){
$next = $halaman_aktif+1;
$link_halaman .= "
<li class='page-item'><a class='page-link' href=index.php?home=$next>Next</a></li>
<li class='page-item'><a class='page-link' href=index.php?home=$jmlhalaman>Last </a><li>";
}
else{
$prev = $halaman_aktif-1;
$link_halaman .= " <li class='page-item'><a class='page-link' href='index.php?home=$next' aria-label='Next'> Next</a></li> ";
}
return $link_halaman;
}
}
?>
*add.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
form{
position: relative;
bottom: 10%;
}
.form-group{
color: #FF1493;
font-weight: bold;
}
</style>
</head>
<body>
<form name="form_mahasiswa" action="index.php?page=create" method="post" enctype="multipart/form-data">
<div class="alert alert-primary" role="alert">
<div class="form-group">
<label for="NIM">NIM</label>
<input type="text" class="form-control" id="nim" placeholder="Input Nomor Induk Mahasiswa" name="nim" required>
</div>
<div class="form-group">
<label for="Nama">Nama</label>
<input type="text" class="form-control" id="nama" placeholder="Input Nama" name="nama" required>
</div>
<div class="form-group">
<label for="Jurusan">Pilih Jurusan</label>
<select name="jurusan" class="form-control" id="jurusan" required>
<option value="">None</option>
<option value="Sistem Informasi">Sistem Informasi</option>
<option value="Teknik Informatika">Teknik Informatika</option>
<option value="Teknik Komputer">Teknik Komputer</option>
<option value="Sistem Informasi Akuntansi">Sistem Informasi Akuntansi</option>
</select>
</div>
<div class="form-group">
<label for="Alamat">Alamat</label>
<textarea class="form-control" id="alamat" placeholder="Alamat" name="alamat" required></textarea>
</div>
<div class="form-group">
<label for="Gambar">Input Foto</label>
<input type="file" class="form-control" id="gambar" name="gambar" required>
</div>
<div class="form-group">
<button type="reset" class="btn btn-danger">Reset</button>
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</div>
</form>
</body>
</html>
*delete.php
<?php
$hapus = $mysqli->query("SELECT * FROM mahasiswa where id='$_GET[id]'");
$nama_gambar = mysqli_fetch_array($hapus);
$lokasi = $nama_gambar['gambar'];
$hapus_gambar = "images/$lokasi";
unlink($hapus_gambar);
$mysqli->query("DELETE FROM mahasiswa WHERE id='$_GET[id]'");
header('location:index.php');
?>
~BUKU~
Selain tampilan halaman buku yang saya cantumkan di atas, ada tampilan lainnya seperti tampilan setelah di edit atau di hapus.
Teman teman bisa dapat mencoba sendiri.
"Membuat tampilan buku berikut source codenya : "
*index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Halaman Buku</title>
<!-- Bootstrap Core CSS -->
<link href="../asset/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../asset/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
<link href="../asset/vendor/simple-line-icons/css/simple-line-icons.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../asset/css/stylish-portfolio.min.css" rel="stylesheet">
</head>
<body id="page-top">
<!-- Navigation -->
<a class="menu-toggle rounded" href="#">
<i class="fas fa-bars"></i>
</a>
<nav id="sidebar-wrapper">
<ul class="sidebar-nav">
<li class="sidebar-brand">
<a class="js-scroll-trigger" href="#page-top">WATY DJAWANG</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="../home/index.php">Home</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="../mahasiswa/index.php">Mahasiswa</a>
</li>
<li class="sidebar-nav-item">
<a class="js-scroll-trigger" href="#">Buku</a>
</li>
</ul>
</nav>
<!-- Header -->
<header class="masthead d-flex">
<div class="container box">
<?php include "pagesbuku.php"; ?>
</div>
</header>
<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded js-scroll-trigger" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Bootstrap core JavaScript -->
<script src="../asset/vendor/jquery/jquery.min.js"></script>
<script src="../asset/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="../asset/vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for this template -->
<script src="../asset/js/stylish-portfolio.min.js"></script>
</body>
</html>
*editbuku.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
form{
position: relative;
bottom: 10%;
}
.form-group{
color: #FF1493;
font-weight: bold;
}
</style>
</head>
<body>
<?php
$edit=$mysqli->query("SELECT * FROM buku where id='$_GET[id]'");
$e=mysqli_fetch_array($edit);
?>
<form name="form_buku" action="indexbuku.php?page=updatebuku" method="post" enctype="multipart/form-data">
<div class="alert alert-primary" role="alert">
<div class="form-group">
<label for="judul">JUDUL BUKU</label>
<input type="hidden" name="id" value="<?php echo $e['id']; ?>">
<input type="text" class="form-control" id="judul" placeholder="Input Nomor Induk Mahasiswa" name="judul" required value="<?php echo $e['judul']; ?>">
</div>
<div class="form-group">
<label for="penerbit">PENERBIT</label>
<input type="text" class="form-control" id="penerbit" placeholder="Input Nama" name="penerbit" required value="<?php echo $e['penerbit']; ?>">
</div>
<div class="form-group">
<label for="jenis">JENIS BUKU</label>
<input type="text" class="form-control" id="jenis" placeholder="Input Nama" name="jenis" required value="<?php echo $e['jenis']; ?>">
</div>
<div class="form-group">
<label for="refrensi">REFRENSI</label>
<textarea class="form-control" id="refrensi" placeholder="refrensi" name="refrensi" required><?php echo $e['refrensi']; ?></textarea>
</div>
<div class="form-group">
<label for="Gambar">Input Foto</label>
<input type="file" class="form-control" id="buku8" name="buku8" required>
<span><?php echo $e['buku8']; ?></span>
</div>
<div class="form-group">
<button type="reset" class="btn btn-danger">Reset</button>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</div>
</form>
</body>
</html>
*addbuku.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
form{
position: relative;
bottom: 10%;
}
.form-group{
color: #FF1493;
font-weight: bold;
}
</style>
</head>
<body>
<form name="form_mahasiswa" action="index.php?page=createbuku" method="post" enctype="multipart/form-data">
<div class="alert alert-primary" role="alert">
<div class="form-group">
<label for="judul">JUDUL BUKU</label>
<input type="text" class="form-control" id="judul" placeholder="Input Judul Buku" name="judul" required>
</div>
<div class="form-group">
<label for="penerbit">PENERBIT</label>
<input type="text" class="form-control" id="penerbit" placeholder="Input Penerbit" name="penerbit" required>
</div>
<div class="form-group">
<label for="jenis">JENIS BUKU</label>
<input type="text" class="form-control" id="jenis" placeholder="Input Nama" name="jenis" required>
</div>
<div class="form-group">
<label for="refrensi">REFRENSI</label>
<textarea class="form-control" id="refrensi" placeholder="refrensi" name="refrensi" required></textarea>
</div>
<div class="form-group">
<label for="gambar">Input Foto</label>
<input type="file" class="form-control" id="gambar" name="gambar" required>
</div>
<div class="form-group">
<button type="reset" class="btn btn-danger">Reset</button>
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</div>
</form>
</body>
</html>
*updatebuku.php
<?php
$gambar = $_FILES['gambar']['name'];
if (empty($gambar)) {
$mysqli->query("UPDATE buku SET judul = '$_POST[judul]',
penerbit = '$_POST[penerbit]',
jenis = '$_POST[jenis]',
refrensi = '$_POST[refrensi]',
WHERE id = '$_POST[id]'");
}else{
$hapus = $mysqli->query("SELECT * FROM buku where id='$_POST[id]'");
$nama_gambar = mysqli_fetch_array($hapus);
$lokasi = $nama_gambar['gambar'];
$hapus_gambar = "picture/$lokasi";
unlink($hapus_gambar);
move_uploaded_file($_FILES['gambar']['tmp_name'],'picture/'.$gambar);
$mysqli->query("UPDATE buku SET judul = '$_POST[judul]',
penerbit = '$_POST[penerbit]',
jenis = '$_POST[jenis]',
refrensi = '$_POST[refrensi]',
gambar = '$gambar'
WHERE id = '$_POST[id]'");
}
header('location:index.php');
?>
*readbuku.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="index.php?page=addbuku" class="btn btn-primary" style="margin-bottom: -5px;">TAMBAH DATA <i class="fa fa-plus fa-1x"></i></a>
<br>
<br>
<br>
<table class="table table-striped table-dark">
<thead>
<tr>
<th>#</th>
<th>JUDUL BUKU</th>
<th>PENERBIT</th>
<th>JENIS BUKU</th>
<th>REFRENSI</th>
<th>Foto</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$no = 0;
$mahasiswa=$mysqli->query("SELECT * FROM buku");
while ($m=mysqli_fetch_array($mahasiswa)) {
$no++;
?>
<?php
error_reporting(0);
include "paging.php";
$p = new paging_buku;
$batas = 5;
$posisi = $p->cariPosisi($batas);
$mahasiswa = $mysqli->query("SELECT * FROM buku ORDER BY id DESC LIMIT $posisi,$batas");
$no=0;
while ($m=mysqli_fetch_array($mahasiswa)) {
$no++;
?>
<tr>
<th scope="row"><?php echo $no; ?></th>
<td><?php echo $m['judul']; ?></td>
<td><?php echo $m['penerbit']; ?></td>
<td><?php echo $m['jenis']; ?></td>
<td><?php echo $m['refrensi']; ?></td>
<td> <img src="picture/<?php echo $m['gambar']; ?>" height="50"> </td>
<td>
<button type="button" class="btn btn-dark">
<a href="index.php?page=editbuku&id=<?php echo $m['id']; ?>">Edit <i class="fa fa-pencil"></i> </a>
</button> |
<button type="button" class="btn btn-danger">
<a href="index.php?page=deletebuku&id=<?php echo $m['id']; ?>" onclick="return confirm('Anda yakin mau menghapus data ini ?')">Hapus<i class="fa fa-trash-o"></i></a>
</button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<div class="halaman">
<nav aria-label="...">
<ul class="pagination">
<?php } ?>
<?php
error_reporting(0);
$jmldata = mysqli_num_rows($mysqli->query("SELECT * FROM buku"));
$jmlhalaman = $p->jumlahHalaman($jmldata, $batas);
$linkHalaman = $p->navHalaman($_GET['home'], $jmlhalaman);
echo " <li class= 'page-item'>$linkHalaman</li> ";
?>
</ul>
</nav>
</div>
</body>
</html>
*paging.php
<?php
class paging_buku{
function cariPosisi($batas){
if(empty($_GET['home'])){
$posisi=0;
$_GET['home']=1;
}
else{
$posisi = ($_GET['home']-1) * $batas;
}
return $posisi;
}
// Fungsi untuk menghitung total halaman
function jumlahHalaman($jmldata, $batas){
$jmlhalaman = ceil($jmldata/$batas);
return $jmlhalaman;
}
// Fungsi untuk link halaman 1,2,3
function navHalaman($halaman_aktif, $jmlhalaman){
$link_halaman = "<li class='page-item'></li>";
// Link ke halaman pertama (first) dan sebelumnya (prev)
if($halaman_aktif > 1){
$prev = $halaman_aktif-1;
$link_halaman .= "
<li class='page-item'><a class='page-link' href=index.php?home>First</a></li>
<li class='page-item'><a class='page-link' href=index.php?home=$prev> Prev</a></li> ";
}
else{
$link_halaman .= " <li class='page-item disabled'><a class='page-link' href='#' tabindex='-1' aria-label='Previous'> Previous </a></li> ";
}
// Link halaman 1,2,3, ...
$angka = ($halaman_aktif > 3 ? "<li class='page-item'> <span aria-hidden='true'>...</span> " : " </li>");
for ($i=$halaman_aktif-2; $i<$halaman_aktif; $i++){
if ($i < 1)
continue;
$angka .= "<li class='page-item'><a class='page-link' href=index.php?home=$i>$i</a></li> ";
}
$angka .= " <li class='page-item active'> <a class='page-link' href='#'>$halaman_aktif</a> <span class='sr-only'>(current)</span></li> ";
for($i=$halaman_aktif+1; $i<($halaman_aktif+3); $i++){
if($i > $jmlhalaman)
break;
$angka .= "<li class='page-item'><a class='page-link' href=index.php?home=$i>$i</a></li> ";
}
$angka .= ($halaman_aktif+2<$jmlhalaman ? " <li class='page-item'> <span aria-hidden='true'>...</span> <a class='page-link' href=index.php?home=$jmlhalaman> $jmlhalaman</a> " : " </li>");
$link_halaman .= "<li class='page-item'>$angka</li>";
// Link ke halaman berikutnya (Next) dan terakhir (Last)
if($halaman_aktif < $jmlhalaman){
$next = $halaman_aktif+1;
$link_halaman .= "
<li class='page-item'><a class='page-link' href=index.php?home=$next>Next</a></li>
<li class='page-item'><a class='page-link' href=index.php?home=$jmlhalaman>Last </a><li>";
}
else{
$prev = $halaman_aktif-1;
$link_halaman .= " <li class='page-item'><a class='page-link' href='index.php?home=$next' aria-label='Next'> Next</a></li> ";
}
return $link_halaman;
}
}
?>
*deletebuku.php
<?php
$hapus = $mysqli->query("SELECT * FROM buku where id='$_GET[id]'");
$nama_gambar = mysqli_fetch_array($hapus);
$lokasi = $nama_gambar['gambar'];
$hapus_gambar = "picture/$lokasi";
unlink($hapus_gambar);
$mysqli->query("DELETE FROM buku WHERE id='$_GET[id]'");
header('location:index.php');
?>











Komentar
Posting Komentar