Anda di halaman 1dari 24

Source Code PHP Pembuatan CRUD Dengan Mysqli oleh Erick https://laciusang.

com

Source code pemrograman php membuat crud dengan mysqli.

Code Database
CREATE TABLE IF NOT EXISTS `is_siswa` (

`nis` varchar(5) NOT NULL,

`nama` varchar(30) NOT NULL,

`tempat_lahir` varchar(30) NOT NULL,

`tanggal_lahir` date NOT NULL,

`jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,

`agama` varchar(20) NOT NULL,

`alamat` varchar(100) NOT NULL,

`no_telepon` varchar(12) NOT NULL,

PRIMARY KEY (`nis`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `is_siswa` (`nis`, `nama`, `tempat_lahir`, `tanggal_lahir`, `jenis_kelamin`, `agama`,


`alamat`, `no_telepon`) VALUES

('16001', 'Danang Kusuma', 'Bandar Lampung', '1990-02-01', 'Laki-laki', 'Islam', 'Jalan Gatot Subroto
No. 10, Bandar Lampung', '085758857775'),

('16002', 'Isyana Sarasvati', 'Jakarta', '1993-05-02', 'Perempuan', 'Islam', 'Jalan Pagar Alam No. 15,
Kedaton, Bandar Lampung', '085789892909'),

('16003', 'Indra Styawantoro', 'Purbolinggo', '1991-05-15', 'Laki-laki', 'Islam', 'Perum Griya Gedung
Meneng Blok C2 No. 2, Rajabasa, Bandar Lampung', '085669919769'),

('16004', 'Maudy Ayunda', 'Jakarta', '1994-12-19', 'Perempuan', 'Islam', 'Jalan Radin Intan No. 77,
Tanjung Karang, Bandar Lampung', '089977955772'),

('16005', 'Valentino Rossi', 'Metro', '1979-03-16', 'Laki-laki', 'Islam', 'Jalan Zaenal Abidin Pagaralam
No. 1, Bandar Lampung', '081922919212'),

('16006', 'Raisa Andriana', 'Jakarta', '1990-06-06', 'Perempuan', 'Islam', 'Jalan Yos Sudarso No. 135,
Bandar Lampung', '081388955767'),

('16007', 'Cristiano Ronaldo', 'Teluk Betung', '1986-02-25', 'Laki-laki', 'Islam', 'Jalan Teuku Umar No.
52, Kedaton Bandar Lampung', '081269962201');

MEMBUAT FILE INDEX.PHP


<?php
require_once "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 MySQL

</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-left">&copy; 2016 Indra Studio</p>


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

MEMBUAT FILE TAMPILDATA.PHP


<?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 Siswa

<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-primary" 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'>&times;</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'>&times;</span>

</button>

<strong><i class='glyphicon glyphicon-ok-circle'></i> Sukses!</strong> Data siswa 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'>&times;</span>

</button>

<strong><i class='glyphicon glyphicon-ok-circle'></i> Sukses!</strong> Data siswa 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'>&times;</span>

</button>
<strong><i class='glyphicon glyphicon-ok-circle'></i> Sukses!</strong> Data siswa berhasil
dihapus.

</div>";

?>

<div class="panel panel-primary">

<div class="panel-heading">

<h3 class="panel-title">Data Siswa</h3>

</div>

<div class="panel-body">

<div class="table-responsive">

<table class="table table-striped table-hover">

<thead>

<tr>

<th>No.</th>

<th>NIS</th>

<th>Nama</th>

<th>Tempat, Tanggal Lahir</th>

<th>Jenis Kelamin</th>

<th>Agama</th>

<th>Alamat</th>

<th>No. Telepon</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

/* Pagination */

$batas = 5;
if (isset($cari)) {

$jumlah_record = mysql_query("SELECT COUNT(*) FROM is_siswa

WHERE nis LIKE '%$cari%' OR nama LIKE '%$cari%'");

} else {

$jumlah_record = mysql_query("SELECT COUNT(*) FROM is_siswa");

$jumlah = mysql_result($jumlah_record, 0);

$halaman = ceil($jumlah / $batas);

$page = (isset($_GET['hal'])) ? (int)$_GET['hal'] : 1;

$mulai = ($page - 1) * $batas;

/*-------------------------------------------------------------------*/

$no = 1;

if (isset($cari)) {

$sql = mysql_query("SELECT * FROM is_siswa

WHERE nis LIKE '%$cari%' OR nama LIKE '%$cari%'

ORDER BY nis DESC LIMIT $mulai, $batas");

} else {

$sql = mysql_query("SELECT * FROM is_siswa

ORDER BY nis DESC LIMIT $mulai, $batas");

while ($data = mysql_fetch_assoc($sql)) {

$tanggal = $data['tanggal_lahir'];

$tgl = explode('-',$tanggal);

$tanggal_lahir = $tgl[2]."-".$tgl[1]."-".$tgl[0];

echo " <tr>

<td width='50' class='center'>$no</td>


<td width='60'>$data[nis]</td>

<td width='150'>$data[nama]</td>

<td width='180'>$data[tempat_lahir], $tanggal_lahir</td>

<td width='120'>$data[jenis_kelamin]</td>

<td width='120'>$data[agama]</td>

<td width='250'>$data[alamat]</td>

<td width='80'>$data[no_telepon]</td>

<td width='100'>

<div class=''>

<a data-toggle='tooltip' data-placement='top' title='Ubah' style='margin-right:5px'


class='btn btn-primary btn-sm' href='?page=ubah&id=$data[nis]'>

<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['nis'];?>" 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">&laquo;</span>

</a>

</li>

<?php

} else { ?>

<li>

<a href="?hal=<?php echo $page -1 ?>" aria-label="Previous">

<span aria-hidden="true">&laquo;</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">&raquo;</span>

</a>

</li>

<?php

} else { ?>

<li>

<a href="?hal=<?php echo $page +1 ?>" aria-label="Next">

<span aria-hidden="true">&raquo;</span>

</a>

</li>

<?php

?>

</ul>

</nav>
</div>

</div>

</div>

</div>

</div>

MEMBUAT HAPUSDATA.PHP
<?php

// Panggil koneksi database

require_once "config/database.php";

if (isset($_GET['id'])) {

$nis = $_GET['id'];

// perintah query untuk menghapus data pada tabel is_siswa

$query = mysql_query("DELETE FROM is_siswa WHERE nis='$nis'");

// 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');

?>

MEMBUAT EDITDATA.PHP
<?php
// Panggil koneksi database

require_once "config/database.php";

if (isset($_POST['simpan'])) {

if (isset($_POST['nis'])) {

$nis = mysql_real_escape_string(trim($_POST['nis']));

$nama = mysql_real_escape_string(trim($_POST['nama']));

$tempat_lahir = mysql_real_escape_string(trim($_POST['tempat_lahir']));

$tanggal = $_POST['tanggal_lahir'];

$tgl = explode('-',$tanggal);

$tanggal_lahir = $tgl[2]."-".$tgl[1]."-".$tgl[0];

$jenis_kelamin = $_POST['jenis_kelamin'];

$agama = $_POST['agama'];

$alamat = mysql_real_escape_string(trim($_POST['alamat']));

$no_telepon = $_POST['no_telepon'];

// perintah query untuk mengubah data pada tabel is_siswa

$query = mysql_query("UPDATE is_siswa SET nama = '$nama',

tempat_lahir = '$tempat_lahir',

tanggal_lahir = '$tanggal_lahir',

jenis_kelamin = '$jenis_kelamin',

agama = '$agama',

alamat = '$alamat',

no_telepon = '$no_telepon'
WHERE nis
= '$nis'");

// 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');

?>

MEMBUAT FORM EDITDATA.PHP


<div class="row">

<div class="col-md-12">

<div class="page-header">

<h4>

<i class="glyphicon glyphicon-edit"></i>

Ubah data siswa

</h4>

</div> <!-- /.page-header -->

<?php

if (isset($_GET['id'])) {

$nis = $_GET['id'];

$sql = mysql_query("SELECT * FROM is_siswa WHERE nis='$nis'");

$data = mysql_fetch_assoc($sql);

$tanggal = $data['tanggal_lahir'];
$tgl = explode('-',$tanggal);

$tanggal_lahir = $tgl[2]."-".$tgl[1]."-".$tgl[0];

?>

<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">NIS</label>

<div class="col-sm-2">

<input type="text" class="form-control" name="nis" value="<?php echo $data['nis']; ?>"


readonly>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Nama Siswa</label>

<div class="col-sm-3">

<input type="text" class="form-control" name="nama" autocomplete="off" value="<?php


echo $data['nama']; ?>" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Tempat Lahir</label>

<div class="col-sm-3">

<input type="text" class="form-control" name="tempat_lahir" autocomplete="off"


value="<?php echo $data['tempat_lahir']; ?>" required>

</div>

</div>

<div class="form-group">
<label class="col-sm-2 control-label">Tanggal Lahir</label>

<div class="col-sm-2">

<div class="input-group">

<input type="text" class="form-control date-picker" data-date-format="dd-mm-yyyy"


name="tanggal_lahir" autocomplete="off" value="<?php echo $tanggal_lahir; ?>" required>

<span class="input-group-addon">

<i class="glyphicon glyphicon-calendar"></i>

</span>

</div>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Jenis Kelamin</label>

<div class="col-sm-4">

<?php

if ($data['jenis_kelamin']=='Laki-laki') { ?>

<label class="radio-inline">

<input type="radio" name="jenis_kelamin" value="Laki-laki" checked> Laki-laki

</label>

<label class="radio-inline">

<input type="radio" name="jenis_kelamin" value="Perempuan"> Perempuan

</label>

<?php

} else { ?>

<label class="radio-inline">

<input type="radio" name="jenis_kelamin" value="Laki-laki"> Laki-laki

</label>

<label class="radio-inline">
<input type="radio" name="jenis_kelamin" value="Perempuan" checked> Perempuan

</label>

<?php

?>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Agama</label>

<div class="col-sm-3">

<select class="form-control" name="agama" placeholder="Pilih Agama" required>

<option value="<?php echo $data['agama']; ?>"><?php echo $data['agama']; ?></option>

<option value=""></option>

<option value="Islam">Islam</option>

<option value="Kristen Protestan">Kristen Protestan</option>

<option value="Kristen Katolik">Kristen Katolik</option>

<option value="Hindu">Hindu</option>

<option value="Buddha">Buddha</option>

</select>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Alamat</label>

<div class="col-sm-3">

<textarea class="form-control" name="alamat" rows="3" required><?php echo


$data['alamat']; ?></textarea>

</div>

</div>
<div class="form-group">

<label class="col-sm-2 control-label">No. Telepon</label>

<div class="col-sm-2">

<input type="text" class="form-control" name="no_telepon" autocomplete="off"


maxlength="12" onKeyPress="return goodchars(event,'0123456789',this)" value="<?php echo
$data['no_telepon']; ?>" required>

</div>

</div>

<hr/>

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<input type="submit" class="btn btn-primary 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 -->

MEMBUAT FORM TAMBAHDATA.PHP

<div class="row">

<div class="col-md-12">

<div class="page-header">

<h4>

<i class="glyphicon glyphicon-edit"></i>

Input data siswa

</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">NIS</label>

<div class="col-sm-2">

<input type="text" class="form-control" name="nis" maxlength="5" autocomplete="off"


required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Nama Siswa</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">Tempat Lahir</label>

<div class="col-sm-3">

<input type="text" class="form-control" name="tempat_lahir" autocomplete="off"


required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Tanggal Lahir</label>

<div class="col-sm-2">

<div class="input-group">
<input type="text" class="form-control date-picker" data-date-format="dd-mm-yyyy"
name="tanggal_lahir" autocomplete="off" required>

<span class="input-group-addon">

<i class="glyphicon glyphicon-calendar"></i>

</span>

</div>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Jenis Kelamin</label>

<div class="col-sm-4">

<label class="radio-inline">

<input type="radio" name="jenis_kelamin" value="Laki-laki"> Laki-laki

</label>

<label class="radio-inline">

<input type="radio" name="jenis_kelamin" value="Perempuan"> Perempuan

</label>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Agama</label>

<div class="col-sm-3">

<select class="form-control" name="agama" placeholder="Pilih Agama" required>

<option value=""></option>

<option value="Islam">Islam</option>

<option value="Kristen Protestan">Kristen Protestan</option>

<option value="Kristen Katolik">Kristen Katolik</option>

<option value="Hindu">Hindu</option>
<option value="Buddha">Buddha</option>

</select>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Alamat</label>

<div class="col-sm-3">

<textarea class="form-control" name="alamat" rows="3" required></textarea>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">No. Telepon</label>

<div class="col-sm-2">

<input type="text" class="form-control" name="no_telepon" autocomplete="off"


maxlength="12" onKeyPress="return goodchars(event,'0123456789',this)" required>

</div>

</div>

<hr/>

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<input type="submit" class="btn btn-primary 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 -->

MEMBUAT PROSES SIMPANDATA.PHP


<?php

// Panggil koneksi database

require_once "config/database.php";

if (isset($_POST['simpan'])) {

$nis = mysql_real_escape_string(trim($_POST['nis']));

$nama = mysql_real_escape_string(trim($_POST['nama']));

$tempat_lahir = mysql_real_escape_string(trim($_POST['tempat_lahir']));

$tanggal = $_POST['tanggal_lahir'];

$tgl = explode('-',$tanggal);

$tanggal_lahir = $tgl[2]."-".$tgl[1]."-".$tgl[0];

$jenis_kelamin = $_POST['jenis_kelamin'];

$agama = $_POST['agama'];

$alamat = mysql_real_escape_string(trim($_POST['alamat']));

$no_telepon = $_POST['no_telepon'];

// perintah query untuk menyimpan data ke tabel is_siswa

$query = mysql_query("INSERT INTO is_siswa( nis,

nama,

tempat_lahir,

tanggal_lahir,

jenis_kelamin,

agama,
alamat,

no_telepon)

VALUES(
'$nis',

'$nama',

'$tempat_lahir',

'$tanggal_lahir',

'$jenis_kelamin',

'$agama',

'$alamat',

'$no_telepon')");

// 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');

?>

Anda mungkin juga menyukai