Anda di halaman 1dari 9

Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.

html

MEMBUAT CRUD PHP MYSQLI DATA SISWA

Halo sahabat , di artikel sebelumnya kita sudah membuat CRUD data gambar di PHP Mysqli ,
nah sekarang kita akan kembangkan lagi menjadi data siswa , Dalam hal ini kita akan membuat
beberapa bagian :

1. Membuat file koneksi php mysqli (koneksi.php)


2. Membuat input data siswa dengan php mysqli (tambah.php)
3. Menampilkan data dari database dengan php mysqli (tampil.php)
4. Membuat Edit data dengan PHP mysqli (edit.php)
5. Membuat action form untuk Input dan Update data dengan PHP MYSQLi (proses.php)

Sengaja saya bagi menjadi beberapa bagian file , dengan tujuan untuk memudahkan kita sebagai
pemula dalam mempelajari script ini

Demo

Langkah pertama , tentunya kita harus menggunakan TEXT EDITOR , disini saya menggunakan
sublime Text , anda boleh menggunakan text editor kesayangan anda sendiri :

Sebelum kita membahas secara detail , disini saya akan berusaha menjabarkan satu persatu apa
saja yang kita butuhkan file nya

1. koneksi.php
2. index.php
3. tampil.php
4. tambah.php
5. edit.php
6. proses.php
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

7. gambar (merupakan folder untuk tempat menyimpan file gambar kita )

terdapat 6 file , yang nantinya akan kita gunakan untuk membuat CRUD data Siswa dengan PHP
MYSQLi ini

OK , langsung saja , langkah pertama ,disini kita akan membuat database terlebih dahulu

--Membuat Database--
Tentunya kita harus mempersiapkan database kita , disini kita akan membuat database dengan
nama db_senterwebs.com ,
berikut ini field yang harus kita buat ,berikut tabelnya :

Name Type
id_siswa int(4)
nis varchar(60)
nama varchar(60)
kelas varchar(60)
jurusan varchar(60)
gambar text

Atau anda bisa menggunakan script dibawah ini , dan jalankan pada query di sql
phpmyadmin,berikut script nya :

CREATE TABLE siswa(


id_siswa int(4) NOT NULL AUTO_INCREMENT,
nis varchar(60)NOT NULL,
nama varchar(60),
kelas varchar(60),
jurusan varchar(60),
gambar text,
PRIMARY KEY(id_siswa)
);

Ok , jika database sudah berhasil kita buat , buka text editor anda , dan langkah selanjutnya
adalah , membuat 6 buah file yang nantinya akan kita gunakan dalam project website kita kali ini
, tentunya anda harus membuat Folder terlebih dahulu di htdocs dalam xampp anda , sehingga
nanti file ini dapat langsung kita jalankan

1. koneksi.php
file koneksi.php , merupakan file yang kita gunakan dalam menghubungkan aplikasi website kita
dengan database yang sudah kita buat sebelumnya , yang harus di perhatikan dari script dibawah
ini ada tiap-tiap variabel yang kita buat itu harus sesuai dengan setingan database dan server di
komputer kita :
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "db_senterwebs.com"; //database yang sudah kita buat sebelumnya
$koneksi = mysqli_connect($server, $username, $password,$database);
if ( mysqli_connect_errno() ) {
// Jika koneksi Error tampilkan Pesan.
exit('Failed to connect to MySQL: ' . mysqli_connect_error());
}
?>

2. index.php
file index.php , meruapakan file utama website kita , dimana file ini akan tampil pertama pada
setiap halaman website

<!DOCTYPE html>
<html>
<head>
<title>CRUD Data siswa dengan php mysqli Senterwebs.com</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="Author" content="Senterwebs">
<link rel="shortcut icon" href="https://senterwebs.com/favicon.png">
<link rel="icon" href="https://senterwebs.com/favicon.png">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></
script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js
"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js">
</script>
</head>

<body>
<div class="container">
<div class='text-center text-success'>
<b><a href="https://senterwebs.com/artikel-693/membuat-crud-data-
siswa-phpmysqli.html">Senterwebs.Com Simple CRUD data siswa dengan PHP
MYSQLi<br><br></a></b>
</div>
<div class="row ">
<!--Bagian Form -->
<div class='col-md-4 bg-light'>
<?php
include "koneksi.php";

if (empty($_GET['alert'])) {
echo "";
} elseif ($_GET['alert'] == 1) {
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

echo "<div class='alert alert-success alert-dismissable'>


<button type='button'
class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>
<i class='icon fa fa-check-
circle'></i> Sukses!
Query Berhasi dijalankan.
</div>";
}
?>
<?php
//Jika url page=edit panggil edit.php
if (isset($_GET['page'])== "edit"){
include "edit.php";
}
//Jika tidak
else{
// panggil tambah.php
include "tambah.php";
}
?>
</div>
<!-- END Bagian Form -->

<!--Bagian Table -->


<div class='col-md-8 '>
<?php include "tampil.php"; ?>
</div>
<!--END Bagian Table -->

</div>
</div>
</body>
</html>
<script>
var loadFile = function(event) {
var image = document.getElementById('output');
image.src = URL.createObjectURL(event.target.files[0]);
};
</script>

3. tambah.php
file tambah.php merupakan file yang kita gunakan dalam pembuatan form , untuk menginput file
ke dalam database

<form action="proses.php?act=simpan" method="post" enctype="multipart/form-


data" name="form" target="_self">
<div class="form-group">
<label for="">NIS</label>
<input type="text" name="nis" class="form-control" required>
</div>
<div class="form-group">
<label for="">Nama</label>
<input type="text" name="nama" class="form-control" required>
</div>
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

<div class="form-group">
<label for="">Kelas</label>
<select name="kelas" class="form-control" required>
<option value="" selected disabled>Pilih Kelas</option>
<option value="X">X</option>
<option value="XI">XI</option>
</select>
</div>
<div class="form-group">
<label for="">Jurusan</label>
<select name="jurusan" class="form-control" required>
<option value="" selected disabled>Pilih Jurusan</option>
<option value="RPL">RPL</option>
<option value="TKJ">TKJ</option>
</select>
</div>
<div class="form-group">
<label for="">Image</label>
<img id="output" width="150" />
<input type="file" name="gambar" class="form-control"
onchange="loadFile(event)" required>
</div>
<div class="form-group">
<button class="btn btn-success btn-sm" name="submit"
type="submit">
Simpan
</button>
</div>
</form>

4. tampil.php
file tampil.php merupakan file yang kita gunakan untuk menampilkan data di dalam database

<table class="table table-striped">


<thead>
<tr>
<th>No.</th>
<th>Nis</th>
<th>Nama</th>
<th>Kelas</th>
<th>Jurusan</th>
<th>Gambar</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
$sql = mysqli_query($koneksi,"SELECT * FROM siswa");
while ($r = mysqli_fetch_array($sql)) {
echo"
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

<tr>
<td>$no</td>
<td>$r[nis]</td>
<td>$r[nama]</td>
<td>$r[kelas]</td>
<td>$r[jurusan]</td>
<td><img src='gambar/$r[gambar]' width='60'></td>
<td><a href='?page=edit&id=$r[id_siswa]'><button type='button' class='btn
btn-success'><span class='glyphicon glyphicon-edit'></span> Edit</button></a>
";
?>
<a href='proses.php?act=hapus&id=<?php echo $r['id_siswa'];?>'
onClick="return confirm('Yakin akan menghapus Data?')"><button type='button'
class='btn btn-danger'><span class='glyphicon
glyphicon-remove-sign'>Delete</button></a></td>
</tr>
<?php $no++; } ?>
</tbody>
</table>

5. edit.php
file edit.php merupakan file yang kita gunakan untuk menampilkan data di dalam database ke
dalam form ,yang nanti akan kita edit :

<?php
$sql = mysqli_query($koneksi,"SELECT * FROM siswa WHERE
id_siswa='$_GET[id]'");
$r = mysqli_fetch_array($sql);
?>
<form action="proses.php?act=update" method="post" enctype="multipart/form-
data" name="form" target="_self">
<div class="form-group">
<input type='hidden' name='id' value="<?= $r['id_siswa']?>">
<label for="">NIS</label>
<input type="text" name="nis" value="<?= $r['nis'] ?>" class="form-
control" required>
</div>
<div class="form-group">
<label for="">Nama</label>
<input type="text" name="nama" value="<?= $r['nama'] ?>" class="form-
control" required>
</div>
<div class="form-group">
<label for="">Kelas</label>
<select name="kelas" class="form-control" required>
<option value="" selected disabled>Pilih Kelas</option>
<option value="X" <?php
if($r['kelas']=='X'){echo'selected';}?>>X</option>
<option value="XI" <?php if($r['kelas']=='XI'){echo'selected';}?
>>XI</option>
</select>
</div>
<div class="form-group">
<label for="">Jurusan</label>
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

<select name="jurusan" class="form-control" required>


<option value="" selected disabled>Pilih Jurusan</option>
<option value="RPL" <?php if($r['jurusan']=='RPL'){echo'selected';}?
>>RPL</option>
<option value="TKJ" <?php if($r['jurusan']=='TKJ'){echo'selected';}?>>TKJ
</select>
</div>
<div class="form-group">
<label for="">Image</label>
<img src="gambar/<?= $r['gambar'] ?>" id="output" width="80" />
<input type="file" name="gambar" class="form-control"
onchange="loadFile(event)">
</div>
<div class="form-group">
<button class="btn btn-success btn-sm" name="submit"
type="submit">
Upate
</button>
</div>
</form>

6. proses.php
file proses.php merupakan file yang kita gunakan untuk memproses setiap action

<?php
include "koneksi.php";

$nis = $_POST['nis'];
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
$jurusan = $_POST['jurusan'];
//gambar
$nama_file = $_FILES['gambar']['name'];
$acak = rand(1,99);
$nama_file_unik = $acak.$nama_file;
//end gambar

if ($_GET['act']=="simpan"){
if(isset($_POST["submit"])){

if (!empty($nama_file)){
//Upload file gambar ke folder di directory website
move_uploaded_file($_FILES["gambar"]["tmp_name"], "gambar/".$nama_file_unik);

$query = mysqli_query($koneksi, "INSERT INTO siswa


(nis,nama,kelas,jurusan,gambar)
values
('$nis','$nama','$kelas','$jurusan','$nama_file_unik')")
or die('Ada kesalahan pada query : '.mysqli_error($koneksi));
if ($query == TRUE){
// jika berhasil dijalankan
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

header("location: index.php?alert=1");
}

}
}
}
elseif ($_GET['act']=='update') {
$id = $_POST['id'];
if (isset($id)) {

// Jika tidak kosong gambar


if (!empty($nama_file)){
//Queri menampilkan gambar
$query = "SELECT gambar FROM siswa WHERE id_siswa='$id'";
$hapus = mysqli_query($koneksi, $query);
$r = mysqli_fetch_array($hapus);
//Jika gambar ada
if ($r['gambar']!=''){
$namafile = $r['gambar'];
// hapus file gambar yang berhubungan dengan artikel
tersebut
unlink("gambar/".$namafile);
}

move_uploaded_file($_FILES["gambar"]["tmp_name"], "gambar/".
$nama_file_unik);
$query = mysqli_query($koneksi, "UPDATE siswa
SET nis = '$nis',
nama = '$nama',
kelas = '$kelas',
jurusan = '$jurusan',
gambar = '$nama_file_unik' WHERE id_siswa='$id'")or die('Ada
kesalahan pada query : '.mysqli_error($koneksi));
}else{
$query = mysqli_query($koneksi, "UPDATE siswa
SET nis = '$nis',
nama = '$nama',
kelas = '$kelas',
jurusan = '$jurusan' WHERE id_siswa='$id'")or die('Ada kesalahan
pada query : '.mysqli_error($koneksi));
}
// cek hasil query
if ($query) {
// jika berhasil dijalankan
header("location: index.php?alert=1");
}
}
}
elseif ($_GET['act']=='hapus') {
$id = $_GET['id'];
if (isset($id)) {
$query = "SELECT gambar FROM siswa WHERE id_siswa='$id'";
$hapus = mysqli_query($koneksi, $query);
$r = mysqli_fetch_array($hapus);
if ($r['gambar']!=''){
$namafile = $r['gambar'];
// hapus file gambar yang berhubungan dengan artikel
Sumber : https://senterwebs.com/artikel-693/membuat-crud-data-siswa-phpmysqli.html

tersebut
unlink("gambar/".$namafile);
}
$query = mysqli_query($koneksi, "DELETE FROM siswa WHERE
id_siswa='$id'")or die('Ada kesalahan pada query delete :
'.mysqli_error($koneksi));

// cek hasil query


if ($query) {
// jika berhasil dijalankan
header("location: index.php?alert=1");
}
}
}
?>

Anda mungkin juga menyukai