Cara Membuat CRUD Dengan PHP Dan MySQL
Pada kesempatan kali ini saya mau membagi ilmu yang merupakan masih dasar apakah itu CRUD? merupakan singkatan dari Create, Read, Update dan Delete. CRUD merupakan salah satu inti dari sebuah pemrograman karena di dalam suatu program biasanya mencakup operasi Create atau menciptakan data, Read atau Menampilkan data, Update atau mengedit suatu data dan Delete atau menghapus data.
Pada kesempatan kali ini saya akan mencoba untuk membahas bagaimana cara membuat sebuah aplikasi sederhana dan cara menerapkan operasi CRUD.
Langkah pertama yang harus dilakukan adalah membuat database.
1. DATABASE
Dalam tutorial kali ini, kita buat database dengan nama "database" dengan tabel is_siswa, seperti contoh gambar dibawah ini
2. config.php atau koneksi
Setelah membuat atau sudah memiliki database MYSQL langkah selanjutnya ialah membuat koneksi php. Di sini koneksi ke database akan berjalan dengan nama "config" dan user database. Buatlah file dengan nama "config.php", seperti script dibawah ini :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// deklarasi parameter koneksi database | |
$server = "localhost"; | |
$username = "root"; | |
$password = ""; | |
$database = "database"; | |
// koneksi database | |
$db = mysqli_connect($server, $username, $password, $database); | |
// cek koneksi | |
if (!$db) { | |
die('Koneksi Database Gagal : ' . mysqli_connect_error()); | |
} | |
?> |
digunakan untuk membuat sebuah direktori atau wadah dari aplikasi
Buatlah file dengan nama "index.php",
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php
require_once "config/database.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Aplikasi CRUD</title>
<!-- favicon -->
<link rel="shortcut icon" href="assets/img/favicon.png">
<!-- Bootstrap -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/css/datepicker.min.css" rel="stylesheet">
<!-- styles -->
<link href="assets/css/style.css" rel="stylesheet">
<!-- Fungsi untuk membatasi karakter yang diinputkan -->
<script language="javascript">
function getkey(e)
{
if (window.event)
return window.event.keyCode;
else if (e)
return e.which;
else
return null;
}
function goodchars(e, goods, field)
{
var key, keychar;
key = getkey(e);
if (key == null) return true;
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();
goods = goods.toLowerCase();
// check goodkeys
if (goods.indexOf(keychar) != -1)
return true;
// control keys
if ( key==null || key==0 || key==8 || key==9 || key==27 )
return true;
if (key == 13) {
var i;
for (i = 0; i < field.form.elements.length; i++)
if (field == field.form.elements[i])
break;
i = (i + 1) % field.form.elements.length;
field.form.elements[i].focus();
return false;
};
// else return false
return false;
}
</script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<!-- Brand -->
<div class="navbar-header">
<a class="navbar-brand" href="index.php">
<i class="glyphicon glyphicon-check"></i>
Aplikasi CRUD PHP dan MySQLi
</a>
</div>
</div> <!-- /.container-fluid -->
</nav>
<div class="container-fluid">
<?php
if (empty($_GET["page"])) {
include "tampil-data.php";
} elseif ($_GET['page'] == 'tambah') {
include "form-tambah.php";
} elseif ($_GET['page'] == 'ubah') {
include "form-ubah.php";
}
?>
</div> <!-- /.container-fluid -->
<footer class="footer">
<div class="container-fluid">
<p class="text-muted pull-right ">Theme by <a href="http://www.getbootstrap.com" target="_blank">Bootstrap</a></p>
</div>
</footer>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/bootstrap-datepicker.min.js"></script>
<script type="text/javascript">
$(function () {
//datepicker plugin
$('.date-picker').datepicker({
autoclose: true,
todayHighlight: true
});
// toolip
$('[data-toggle="tooltip"]').tooltip();
})
</script>
</body>
</html>
seperti script dibawah ini :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require_once "config/database.php"; | |
?> | |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
<meta name="viewport" content="width=device-width, initial-scale=1"> | |
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> | |
<title>Aplikasi CRUD</title> | |
<!-- favicon --> | |
<link rel="shortcut icon" href="assets/img/favicon.png"> | |
<!-- Bootstrap --> | |
<link href="assets/css/bootstrap.min.css" rel="stylesheet"> | |
<link href="assets/css/datepicker.min.css" rel="stylesheet"> | |
<!-- styles --> | |
<link href="assets/css/style.css" rel="stylesheet"> | |
<!-- Fungsi untuk membatasi karakter yang diinputkan --> | |
<script language="javascript"> | |
function getkey(e) | |
{ | |
if (window.event) | |
return window.event.keyCode; | |
else if (e) | |
return e.which; | |
else | |
return null; | |
} | |
function goodchars(e, goods, field) | |
{ | |
var key, keychar; | |
key = getkey(e); | |
if (key == null) return true; | |
keychar = String.fromCharCode(key); | |
keychar = keychar.toLowerCase(); | |
goods = goods.toLowerCase(); | |
// check goodkeys | |
if (goods.indexOf(keychar) != -1) | |
return true; | |
// control keys | |
if ( key==null || key==0 || key==8 || key==9 || key==27 ) | |
return true; | |
if (key == 13) { | |
var i; | |
for (i = 0; i < field.form.elements.length; i++) | |
if (field == field.form.elements[i]) | |
break; | |
i = (i + 1) % field.form.elements.length; | |
field.form.elements[i].focus(); | |
return false; | |
}; | |
// else return false | |
return false; | |
} | |
</script> | |
</head> | |
<body> | |
<nav class="navbar navbar-default navbar-fixed-top"> | |
<div class="container-fluid"> | |
<!-- Brand --> | |
<div class="navbar-header"> | |
<a class="navbar-brand" href="index.php"> | |
<i class="glyphicon glyphicon-check"></i> | |
Aplikasi CRUD PHP dan MySQLi | |
</a> | |
</div> | |
</div> <!-- /.container-fluid --> | |
</nav> | |
<div class="container-fluid"> | |
<?php | |
if (empty($_GET["page"])) { | |
include "tampil-data.php"; | |
} elseif ($_GET['page'] == 'tambah') { | |
include "form-tambah.php"; | |
} elseif ($_GET['page'] == 'ubah') { | |
include "form-ubah.php"; | |
} | |
?> | |
</div> <!-- /.container-fluid --> | |
<footer class="footer"> | |
<div class="container-fluid"> | |
<p class="text-muted pull-right ">Theme by <a href="http://www.getbootstrap.com" target="_blank">Bootstrap</a></p> | |
</div> | |
</footer> | |
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> | |
<script src="assets/js/jquery.min.js"></script> | |
<!-- Include all compiled plugins (below), or include individual files as needed --> | |
<script src="assets/js/bootstrap.min.js"></script> | |
<script src="assets/js/bootstrap-datepicker.min.js"></script> | |
<script type="text/javascript"> | |
$(function () { | |
//datepicker plugin | |
$('.date-picker').datepicker({ | |
autoclose: true, | |
todayHighlight: true | |
}); | |
// toolip | |
$('[data-toggle="tooltip"]').tooltip(); | |
}) | |
</script> | |
</body> | |
</html> |
4. from-tambah.php
from ini digunakan untuk mengimputkan tambah data baru. dengan cara menginputkan datanya.
from ini digunakan untuk mengimputkan tambah data baru. dengan cara menginputkan datanya.
Buatlah file dengan nama "from-tambah.php", seperti script dibawah ini :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="row"> | |
<div class="col-md-12"> | |
<div class="page-header"> | |
<h4> | |
<i class="glyphicon glyphicon-edit"></i> | |
Input data | |
</h4> | |
</div> <!-- /.page-header --> | |
<div class="panel panel-default"> | |
<div class="panel-body"> | |
<form class="form-horizontal" method="POST" action="proses-simpan.php"> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Nama</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="nama" autocomplete="off" required> | |
</div> | |
</div> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Username</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="username" autocomplete="off" required> | |
</div> | |
</div> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Password</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="password" autocomplete="off" required> | |
</div> | |
</div> | |
</div> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Email address</label> | |
<div class="col-sm-3"> | |
<input type="email" class="form-control" name="email" placeholder="name@example.com"> | |
</div> | |
<hr/> | |
<div class="form-group"> | |
<div class="col-sm-offset-2 col-sm-10"> | |
<input type="submit" class="btn btn-info btn-submit" name="simpan" value="Simpan"> | |
<a href="index.php" class="btn btn-default btn-reset">Batal</a> | |
</div> | |
</div> | |
</form> | |
</div> <!-- /.panel-body --> | |
</div> <!-- /.panel --> | |
</div> <!-- /.col --> | |
</div> <!-- /.row --> |
5. form-ubah.php
File ubah.php digunakan untuk melakukan proses edit/uptade data, file ini menampilkan form yang sama dengan form tambah.php, form edit.php ini berfungsi mengambil data yang akan kita edit didalam database.
Buatlah file dengan nama "from-ubah.php", seperti script dibawah ini :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="row"> | |
<div class="col-md-12"> | |
<div class="page-header"> | |
<h4> | |
<i class="glyphicon glyphicon-edit"></i> | |
Ubah data | |
</h4> | |
</div> <!-- /.page-header --> | |
<?php | |
if (isset($_GET['id'])) { | |
$nama = $_GET['id']; | |
$query = mysqli_query($db, "SELECT * FROM is_siswa WHERE nama='$nama | |
'") or die('Query Error : '.mysqli_error($db)); | |
while ($data = mysqli_fetch_assoc($query)) { | |
$nama = $data['nama']; | |
$username = $data['username']; | |
$password = $data['password']; | |
$email = $data['email']; | |
} | |
} | |
?> | |
<div class="panel panel-default"> | |
<div class="panel-body"> | |
<form class="form-horizontal" method="POST" action="proses-ubah.php"> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Nama</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="nama" autocomplete="off" value="<?php echo $nama; ?>" required> | |
</div> | |
</div> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Userame</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="username" autocomplete="off" value="<?php echo $username; ?>" required> | |
</div> | |
</div> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Password</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="password" autocomplete="off" value="<?php echo $password; ?>" required> | |
</div> | |
</div> | |
<div class="form-group"> | |
<label class="col-sm-2 control-label">Email</label> | |
<div class="col-sm-3"> | |
<input type="text" class="form-control" name="email" autocomplete="off" value="<?php echo $email; ?>" required> | |
</div> | |
</div> | |
<hr/> | |
<div class="form-group"> | |
<div class="col-sm-offset-2 col-sm-10"> | |
<input type="submit" class="btn btn-info btn-submit" name="simpan" value="Simpan"> | |
<a href="index.php" class="btn btn-default btn-reset">Batal</a> | |
</div> | |
</div> | |
</form> | |
</div> <!-- /.panel-body --> | |
</div> <!-- /.panel --> | |
</div> <!-- /.col --> | |
</div> <!-- /.row --> |
6. proses-hapus
proses hapus digunakan untuk menghapus data yang ingin dihapus. jika telah dihapus maka data tersebut akan hilang dari database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Panggil koneksi database | |
require_once "config/database.php"; | |
if (isset($_GET['id'])) { | |
$nama = $_GET['id']; | |
// perintah query untuk menghapus data pada tabel is_siswa | |
$query = mysqli_query($db, "DELETE FROM is_siswa WHERE nama='$nama'"); | |
// cek hasil query | |
if ($query) { | |
// jika berhasil tampilkan pesan berhasil delete data | |
header('location: index.php?alert=4'); | |
} else { | |
// jika gagal tampilkan pesan kesalahan | |
header('location: index.php?alert=1'); | |
} | |
} | |
?> |
tampilan dari hapus data adalah sebagai berikut. terdapat notifikasi apakah data tersebut ingin dihapus
7. proses-simpan
proses simpan digunakan untuk menyimpan semua data yang telah terisi dalam tambah data maupun update data.
proses simpan digunakan untuk menyimpan semua data yang telah terisi dalam tambah data maupun update data.
Buatlah file dengan nama "proses-simpan.php", seperti script dibawah ini :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Panggil koneksi database | |
require_once "config/database.php"; | |
if (isset($_POST['simpan'])) { | |
$nama = mysqli_real_escape_string($db, trim($_POST['nama'])); | |
$username = mysqli_real_escape_string($db, trim($_POST['username'])); | |
$password = mysqli_real_escape_string($db, trim($_POST['password'])); | |
$email = mysqli_real_escape_string($db, trim($_POST['email'])); | |
// perintah query untuk menyimpan data ke tabel | |
$query = mysqli_query($db, "INSERT INTO is_siswa(nama, | |
username, | |
password, | |
email) | |
VALUES('$nama', | |
'$username', | |
'$password', | |
'$email')"); | |
// cek hasil query | |
if ($query) { | |
// jika berhasil tampilkan pesan berhasil insert data | |
header('location: index.php?alert=2'); | |
} else { | |
// jika gagal tampilkan pesan kesalahan | |
header('location: index.php?alert=1'); | |
} | |
} | |
?> |
data akan tersimpan secara otomatis
8. proses-ubah
untuk memproses ubah data yang ada di database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Panggil koneksi database | |
require_once "config/database.php"; | |
if (isset($_POST['simpan'])) { | |
if (isset($_POST['nama'])) { | |
$nama = mysqli_real_escape_string($db, trim($_POST['nama'])); | |
$username = mysqli_real_escape_string($db, trim($_POST['username'])); | |
$password = mysqli_real_escape_string($db, trim($_POST['password'])); | |
$email = mysqli_real_escape_string($db, trim($_POST['email'])); | |
// perintah query untuk mengubah data pada tabel | |
$query = mysqli_query($db, "UPDATE is_siswa SET username = '$username', | |
password = '$password', | |
email = '$email', | |
WHERE nama = '$nama'"); | |
// cek query | |
if ($query) { | |
// jika berhasil tampilkan pesan berhasil update data | |
header('location: index.php?alert=3'); | |
} else { | |
// jika gagal tampilkan pesan kesalahan | |
header('location: index.php?alert=1'); | |
} | |
} | |
} | |
?> |
tampil data digunakan untuk menampilkan seluruh tampilan data diawal.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
if (isset($_POST['cari'])){ | |
$cari = $_POST['cari']; | |
}else { | |
$cari = ""; | |
} | |
?> | |
<div class="row"> | |
<div class="col-md-12"> | |
<div class="page-header"> | |
<h4> | |
<i class="glyphicon glyphicon-user"></i> Data User | |
<div class="pull-right btn-tambah"> | |
<form class="form-inline" method="POST" action="index.php"> | |
<div class="form-group"> | |
<div class="input-group"> | |
<div class="input-group-addon"> | |
<i class="glyphicon glyphicon-search"></i> | |
</div> | |
<input type="text" class="form-control" name="cari" placeholder="Cari ..." autocomplete="off" value=" | |
<?php echo $cari; ?>"> | |
</div> | |
</div> | |
<a class="btn btn-info" href="?page=tambah"> | |
<i class="glyphicon glyphicon-plus"></i> Tambah | |
</a> | |
</form> | |
</div> | |
</h4> | |
</div> | |
<?php | |
if (empty($_GET['alert'])) { | |
echo ""; | |
} elseif ($_GET['alert'] == 1) { | |
echo "<div class='alert alert-danger alert-dismissible' role='alert'> | |
<button type='button' class='close' data-dismiss='alert' aria-label='Close'> | |
<span aria-hidden='true'>×</span> | |
</button> | |
<strong><i class='glyphicon glyphicon-alert'></i> Gagal!</strong> Terjadi kesalahan. | |
</div>"; | |
} elseif ($_GET['alert'] == 2) { | |
echo "<div class='alert alert-success alert-dismissible' role='alert'> | |
<button type='button' class='close' data-dismiss='alert' aria-label='Close'> | |
<span aria-hidden='true'>×</span> | |
</button> | |
<strong><i class='glyphicon glyphicon-ok-circle'></i> Sukses!</strong> Data berhasil disimpan. | |
</div>"; | |
} elseif ($_GET['alert'] == 3) { | |
echo "<div class='alert alert-success alert-dismissible' role='alert'> | |
<button type='button' class='close' data-dismiss='alert' aria-label='Close'> | |
<span aria-hidden='true'>×</span> | |
</button> | |
<strong><i class='glyphicon glyphicon-ok-circle'></i> Sukses!</strong> Data berhasil diubah. | |
</div>"; | |
} elseif ($_GET['alert'] == 4) { | |
echo "<div class='alert alert-success alert-dismissible' role='alert'> | |
<button type='button' class='close' data-dismiss='alert' aria-label='Close'> | |
<span aria-hidden='true'>×</span> | |
</button> | |
<strong><i class='glyphicon glyphicon-ok-circle'></i> Sukses!</strong> Data berhasil dihapus. | |
</div>"; | |
} | |
?> | |
<div class="panel panel-default"> | |
<div class="panel-heading"> | |
<h3 class="panel-title">Data </h3> | |
</div> | |
<div class="panel-body"> | |
<div class="table-responsive"> | |
<table class="table table-striped table-hover"> | |
<thead> | |
<tr> | |
<th>No.</th> | |
<th>Nama</th> | |
<th>Username</th> | |
<th>Password</th> | |
<th>Email</th> | |
</tr> | |
</thead> | |
<tbody> | |
<?php | |
/* Pagination */ | |
$batas = 5; | |
if (isset($cari)) { | |
$jumlah_record = mysqli_query($db, "SELECT * FROM is_siswa | |
WHERE nama LIKE '%$cari%'") | |
or die('Ada kesalahan pada query jumlah_record: '.mysqli_error($db)); | |
} else { | |
$jumlah_record = mysqli_query($db, "SELECT * FROM is_siswa") | |
or die('Ada kesalahan pada query jumlah_record: '.mysqli_error($db)); | |
} | |
$jumlah = mysqli_num_rows($jumlah_record); | |
$halaman = ceil($jumlah / $batas); | |
$page = (isset($_GET['hal'])) ? (int)$_GET['hal'] : 1; | |
$mulai = ($page - 1) * $batas; | |
/*-------------------------------------------------------------------*/ | |
$no = 1; | |
if (isset($cari)) { | |
$query = mysqli_query($db, "SELECT * FROM is_siswa | |
WHERE nama LIKE '%$cari%' | |
ORDER BY nama DESC LIMIT $mulai, $batas") | |
or die('Ada kesalahan pada query siswa: '.mysqli_error($db)); | |
} else { | |
$query = mysqli_query($db, "SELECT * FROM is_siswa | |
ORDER BY nama DESC LIMIT $mulai, $batas") | |
or die('Ada kesalahan pada query siswa: '.mysqli_error($db)); | |
} | |
while ($data = mysqli_fetch_assoc($query)) {; | |
echo " <tr> | |
<td width='50' class='center'>$no</td> | |
<td width='150'>$data[nama]</td> | |
<td width='150'>$data[username]</td> | |
<td width='150'>$data[password]</td> | |
<td width='150'>$data[email]</td> | |
<td width='100'> | |
<div class=''> | |
<a data-toggle='tooltip' data-placement='top' title='Ubah' style='margin-right:5px' class='btn btn-info btn-sm' href='?page=ubah&id=$data[nama]'> | |
<i class='glyphicon glyphicon-edit'></i> | |
</a>"; | |
?> | |
<a data-toggle="tooltip" data-placement="top" title="Hapus" class="btn btn-danger btn-sm" href="proses-hapus.php?id=<?php echo $data['nama'];?>" onclick="return confirm('Anda yakin ingin menghapus siswa <?php echo $data['nama']; ?>?');"> | |
<i class="glyphicon glyphicon-trash"></i> | |
</a> | |
<?php | |
echo " | |
</div> | |
</td> | |
</tr>"; | |
$no++; | |
} | |
?> | |
</tbody> | |
</table> | |
<?php | |
if (empty($_GET['hal'])) { | |
$halaman_aktif = '1'; | |
} else { | |
$halaman_aktif = $_GET['hal']; | |
} | |
?> | |
<a> | |
Halaman <?php echo $halaman_aktif; ?> dari <?php echo $halaman; ?> | | |
Total <?php echo $jumlah; ?> data | |
</a> | |
<nav> | |
<ul class="pagination pull-right"> | |
<!-- Button untuk halaman sebelumnya --> | |
<?php | |
if ($halaman_aktif<='1') { ?> | |
<li class="disabled"> | |
<a href="" aria-label="Previous"> | |
<span aria-hidden="true">«</span> | |
</a> | |
</li> | |
<?php | |
} else { ?> | |
<li> | |
<a href="?hal=<?php echo $page -1 ?>" aria-label="Previous"> | |
<span aria-hidden="true">«</span> | |
</a> | |
</li> | |
<?php | |
} | |
?> | |
<!-- Link halaman 1 2 3 ... --> | |
<?php | |
for($x=1; $x<=$halaman; $x++) { ?> | |
<li class=""> | |
<a href="?hal=<?php echo $x ?>"><?php echo $x ?></a> | |
</li> | |
<?php | |
} | |
?> | |
<!-- Button untuk halaman selanjutnya --> | |
<?php | |
if ($halaman_aktif>=$halaman) { ?> | |
<li class="disabled"> | |
<a href="" aria-label="Next"> | |
<span aria-hidden="true">»</span> | |
</a> | |
</li> | |
<?php | |
} else { ?> | |
<li> | |
<a href="?hal=<?php echo $page +1 ?>" aria-label="Next"> | |
<span aria-hidden="true">»</span> | |
</a> | |
</li> | |
<?php | |
} | |
?> | |
</ul> | |
</nav> | |
</div> | |
</div> | |
</div> <!-- /.panel --> | |
</div> <!-- /.col --> | |
</div> <!-- /.row --> |
tampilan datanya adalah sebagai berikut
Casinos & Entertainment Online - Dr. MD
BalasHapusWelcome to the Official 안성 출장안마 website of MGM Resorts International, one of the leading Internet 대구광역 출장샵 entertainment for a 부천 출장마사지 chance to play live dealer casino games and get a chance to 이천 출장샵 win 충주 출장샵 real prizes.